Прошу помогите написать программу в Паскале)С клавиатуры ввели число. Если это число нечетное, то нужно найти сумму чисел в диапазоне от 1 до этого числа, иначе вывести сообщение о том, что число нечетное.

Прошу помогите написать программу в Паскале) С клавиатуры ввели число. Если это число нечетное, то нужно найти сумму чисел в диапазоне от 1 до этого числа, иначе вывести сообщение о том, что число нечетное.
Гость
Ответ(ы) на вопрос:
Гость
Заметим, что числа образуют арифметическую прогрессию, а её сумма известна: [latex]S= \frac{a_1+a_n}{2}\times n= \frac{1+n}{2}\times n[/latex] Поэтому два варианта программы: один вычисляет сумму накоплением, второй сразу определяет результат по формуле. Хороший пример того, что программист должен знать математику. var   n, i, s: integer; begin   Write('Введите натуральное число: ');   Readln(n);   if (n mod 2) = 0 then   begin     s := 0;     for i := 1 to n do s := s + i;     Writeln('Сумма чисел от 1 до ', n, ' равна ', s)   end   else Writeln('Введено нечетное число') end. Тестовое решение: Введите натуральное число: 8 Сумма чисел от 1 до 8 равна 36 var   n, s: integer; begin   Write('Введите натуральное число: ');   Readln(n);   if (n mod 2) = 0 then     Writeln('Сумма чисел от 1 до ', n, ' равна ', ((1 + n) * n) div 2)   else Writeln('Введено нечетное число') end. Тестовое решение: Введите натуральное число: 8 Сумма чисел от 1 до 8 равна 36
Не нашли ответ?
Ответить на вопрос
Похожие вопросы