Вычислить 1*2*3*…(n-1)*n ( n вводится с клавиатуры) Нужно программу написать

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

Вычислить 1*2*3*…(n-1)*n ( n вводится с клавиатуры) Нужно программу написать


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

PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018

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

begin

 1.To(ReadInteger).Aggregate(BigInteger(1),(a,b)->a*b).Print

end.

Пример

217

2174434113582705391286180135953604532547074113841280120966134941338127751629996882750252826548685075220319214067349484135380654467787270451742678423326570265620157366737288992163349171048688798463267664859364875790185551813894632412980205208366671935782165194373264746274299962531422140746241331327245578338344158437780432087037897823778356347516601795918870609920000000000000000000000000000000000000000000000000000

(654k баллов)
0 голосов

#Python
def f(n): return 1 if n==1 else n*f(n-1)
print(f(int(input())))

(654k баллов)
0

а BigInteger сколько занимает?

0

Пакуется по две цифры в байт

0

Т.е. это строка. А у строк лимит 2 Гб

0

а зачем так?

0

а, ясно

0

А как надо? Так решила Microsoft в .NET Framework )))

0

я думал, как с обычными)

0

Нет, длинные - там двоично-десятичная арифметика.

0

На самом деле язык очень удачно сделан. Если на плечах есть голова - легко осваивается за считанные дни.

0

Да и то, если не знать современных концепций и работы в .NET с контейнерами и прочим, не понимать лямбд... в общем, практически с нуля. А так - еще быстрее.