Софтуерно Инженерство
Loading...
+ Нов въпрос
mmilev_dev avatar mmilev_dev 0 Точки

Sum of Odd Numbers - Варианти за решаване

Здавейте колеги, 

ако някой има няколко минути ей така за спорта бих искал да го позанимая с една от задачите от Lab: Intro and Basic Syntax
Става дума за Sum of Odd Numbers. 

Ето условието:

⦁ Sum of Odd Numbers
Write a program that prints the next n odd numbers (starting from 1) and on the last row prints the sum of them.
Input
On the first line, you will receive a number – n. This number shows how many odd numbers you should print.
Output
Print the next n odd numbers, starting from 1, separated by new lines. On the last line, print the sum of these numbers.
Constraints
⦁ n will be in the interval [1…100]

Аз съм я решил и Judge имам 100 точки. 

Въпросът ми е някой решил ли я е с вложени цикли и как би изглеждало решението. Ако някой има друго интересно решение ще се радвам да го сподели. 

Ето моето решение: 

<?php

$number = intval(readline());
$sum = 0;


if ($number >= 1 && $number <= 100) {
    for ($i = 1; $i <= $number*2; $i++) {
        if ($i % 2 !== 0) {
            echo $i . PHP_EOL;
            $sum += $i;

        }

    }
    echo "Sum: $sum";
}

Поздави!

0
PHP Fundamentals
krum_43 avatar krum_43 93 Точки

За какво са ти нужни вложени цикли.Задачата се решава общо взето с един цикъл както си направил и ти.

Не е нужно да валидираш входа за number.Ограниченията са ти дадени само за да определиш типа на number.

Ето ти едно решение на c# с условен  цикъл.

:)

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sumoddnumber
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int countofoddnumber = 1;
            int sum = 1;
            int j = 2;
            Console.WriteLine("1");
            while(true)
            {
                if(j%2==1)
                {
                    Console.WriteLine($"{j}");
                    countofoddnumber++;
                    sum += j;
                    j++;
                }
                else
                {
                    j++;
                }
                if(countofoddnumber==n)
                {
                    break;
                }
            }
            Console.WriteLine($"Sum of first n odd number is = {sum}");
        }
    }
}
 

0