автор Admin Вс 9 Фев 2020 - 14:39
Задание
Напишите программу, в которой вычисляется сумма нечётных чисел.
Для проверки результат воспользуйтесь тем, что 2+4+6+...+2n=n(n+1)
Предложите версии программы, использующие разные операторы цикла.
Так как я ни в коем разе не математик, и школьные годы были так эдак лет 20 с лишним лет назад, я как то не очень допёр эту формулу. Да и программирование это сначала логика, а потом уже всё остальное. Взял более простое решение.
Суть такова.
1. Есть значение k, которое по умолчанию рано 1 (для нечётных значений) .... если нужно чётное значение, то k=0
2. В цикле к значению k (оно равно 1) добавляется +2, получаются значения 1,3,5,7,9 и т.д
3. В цикле значение k увеличивается до нечётного значения, которое ввёл пользователь
4. Во втором счётчике все значения суммируются.
Решение задачи с оператором
do while - Код:
using System;
class MyProgram
{
static void Main()
{
int value, k=1,sum=0;
Console.WriteLine("Введите нечётное значение, целое число");
value = Int32.Parse(Console.ReadLine());
do//делать пока выполняется условие
{
//к сумме прибавляем последующую нечётную цифру
sum += k;
//счётчик возрастания нечётного значения, начальное значение счётчика равно 1
//в итоге счётчик постоянно растёт по нечётным значениям, 1,3,5,7 и т.д пока не станет равным
//значению введённого пользователем
k+=2;
} while (k <= value); //прекратить цикл, когда (к) станет равно введённому значению
Console.WriteLine("Сумма нечётных значений {0} равна {1}", value, sum);
Console.ReadKey();
}
}
Решение задачи с оператором
for - Код:
using System;
class MyProgram
{
static void Main()
{
Console.WriteLine("Введите нечётное число");
int k, value, sum;
value= Int32.Parse(Console.ReadLine());
for (k = 1, sum = 0; (k <= value); sum += k, k += 2) ;
Console.WriteLine("Сумма нечётных чисел значения {0} = {1}", value, sum);
Console.ReadKey();
}
}
Решение задачи с оператором
while - Код:
using System;
class MyProgram
{
static void Main()
{
Console.WriteLine("Введите нечётное число");
int k=1, value, sum=0;
value = Int32.Parse(Console.ReadLine());
while (k <= value)
{
sum += k;
k += 2;
}
Console.WriteLine("Сумма нечётных значений числa {0} = {1}", value, sum);
Console.ReadKey();
}
}