В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
tinaZ07
tinaZ07
21.06.2021 17:05 •  Информатика

Синформатикой! вычислить n! =1*2*3**n с паскаля

Показать ответ
Ответ:
Milykenon101
Milykenon101
21.08.2020 01:38
1. Современное решение
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  Writeln(n,'! = ',2.To(n).Aggregate(BigInteger(1),(i,j)->i*j))
end.

Примеры
n= 20
20! = 2432902008176640000

n= 43
43! = 60415263063373835637355132068513997507264512000000000

2. "Школьный древний вариант"
// Free Pascal 3.0.0

var
  i,n:longint;
  P:int64;

begin
  Write('n= '); Read(n);
  if n>20 then
    Writeln('Слишком большое n, допустимо 1,2, ... 20')
  else begin
    P:=1;
    for i:=2 to n do P:=P*i;
    Writeln(n,'! = ',P);
    end
end.

Примеры
n= 20
20! = 2432902008176640000

n= 43
Слишком большое n, допустимо 1,2, ... 20

Если не делать проверки n, было бы
n= 43
43! = -7904866829883932672
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота