Задание на написание программы в Pascal. Дано целое число N (>0). Найти сумму N*2+(N+1)*2+(N+2)*2+...+(2*N)*2
Сколько раз нужно просуммировать данное число?
В задании дано только это. Больше ничего не указано :с
program t;
var n, s, i: integer;
begin
readln(n);
s:=0;
for i:=n to 2*n do s:=s+i*2;
writeln(s)
end.
Кстати, если воспользоваться формулой суммы арифм. прогрессии, можно еще проще решить задачу:
program t; var n, s: integer;begin readln(n); s:=3*n*(n+1); writeln(s)end.
* суммы членов арифм. прогрессии
Всё увидел, где я сам не додумал. Сказал бы, что я дурак не туда смотрю.
Если раскрывать этот цикл, то должно получиться2n^2 + 2n + 2mгде m - это сумма 1 + 2 + 3 + ... + n-1
Или я ошибся (
Почти верно. Единственная ошибка - m - это сумма 1 + 2 + 3 + ... + n
N*2+(N+1)*2+(N+2)*2+...+(2*N)*2=2N+(N+1)*2+(N+2)*2+...+(N+N)*2=2N+(1*2+2*2+...+N*2)+(N*2+N*2+...+N*2)=2N+2(1+2+...+N)+2N^2
А если знать формулу суммы чисел от 1 до N (N*(N+1)/2), то можно раскрыть так: 2N+2(1+2+...+N)+2N^2=2N+2N(N+1)/2+2N^2=2N+N(N+1)+2N^2=2N(N+1)+N(N+1)=3N(N+1)
Эту формулу (s:=3*n*(n+1);) я и применил в своём решении без цикла ;-)