Напишите программу pascal - 1*(1+2)*(1+2+3)*(1+2+3+4)*(1+2+3+...n)

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

Напишите программу pascal - 1*(1+2)*(1+2+3)*(1+2+3+4)*(1+2+3+...n)


Информатика (34 баллов) | 37 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

var  

   N:integer;

   i:integer;

   sum:integer;

   result:integer;


begin

   writeln('Введите значение N:');

   readLn(N);

   

   sum := 0;     result := 1;


   for i := 1 to N do

   begin

       sum := sum + i;

       result := sum * result;

   end;

   writeln('Конечное значение = ', result);

end.


(4.0k баллов)
0

Входное значение: 5
Выходное значение: 35
Версия компилятора: fpc 3.0.0(online ver.)

0

я посчитал 34 должно быть

0

Да, ошибка была у меня. Я суммировал, а не умножал :)

0

а вообще должно 900 быть

0

я тоже сумировал

0

другое решение должно быть?

0

Судя по примеру твоему, все верно. Введи 5 - получишь 2700.
Мой пример все правильно решает.

0

spasibo

0 голосов

// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018

// Внимание! Если программа не работает, обновите версию!


begin

 var (m,n):=(3,ReadInteger('n ='));

 SeqGen(n-1,m,t->begin Result:=t+m; m+=1 end)

     .Aggregate(BigInteger(1),(p,q)->p*q).Println

end.

---------------------------

n = 5

2700

--------------------------

n = 92

2905717351708908985405643744987697767130796956644732769142761496541317116624931720391311988753812039943077115478561297954388733569194661753822436538090873756174074892748228397527408937781819534979620536526957830995968000000000000000000000000000000000000000000


image
(150k баллов)