For38. Дано целое число $$N$$ ($$> 0$$). Найти сумму $$1^N + 2^{N-1} + … + N^1$$. Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
program For38; var N, i, i2 :Integer; Rez,Pow: Real; begin Write('Введите N: '); Readln(N); Rez:=0; for i:=1 to N do begin Pow:=1; for i2:=1 to N-i+1 do Pow:=Pow*i; Rez:=Rez+Pow; end; Writeln(Rez); end. |
Другие задачи из раздела For можно посмотреть здесь.
read (n);
s:=0;
for i:=1 to n do s:=s+power(i, n-i+1);
write (s);
Это решение, но это не классический pascal. 🙂
Скорее всего ABCPascal.
И я надеюсь, что автор этого учебника не предполагал использования данной функции. 🙂
А так решение правильное… (немного медленнее должно работать, может даже памяти есть по больше будет) Но правильное..
Видите какая реакция у меня на это решение, это потому что я старый. 🙂