Помогите,срочно❣️ Программа в паскале,через while Дано натуральное число n.Вычислить...

0 голосов
27 просмотров

Помогите,срочно❣️ Программа в паскале,через while Дано натуральное число n.Вычислить сумму:P=1+3+5+..+(2n-1)


Информатика (85 баллов) | 27 просмотров
Дан 1 ответ
0 голосов

У этой задачи есть более простой способ решения:
заметим,что мы складываам подрят идущие нечетные числа,при этом разность между двумя соседними числами будет 2...Тогда
P = 1 + 3 + 5 + 7 + (2n - 1) - сумма членов арифметической прогрессии...
Тогда P = (первый член + последний член)/2 × колво членов....Зная,чтро первый член будет 1,а последний 2n - 1, и колво этих членов = n,то Р = (1 + 2n - 1)/2×n=2n/2×n = n^2
значит сумма первых n членов данной прогрессии будет равна n^2

программа:
var n: integer;
begin
readln(n);
writeln(n*n);
end.

если уж делать эту же программу через цикл while,то:
var n,P,t: integer;
begin
readln(n);
t = 1;
P = 0;
while (t < 2*n - 1) do
begin
P = P + t;
t = t + 2;
end;
writeln(P);
end.

(388 баллов)
0

во 2 программе в троке while (t < 2n - 1) do знак будет не < a <=