// PascalABC.NET 3.0, сборка 1157 от 02.02.2016 begin var n:=ReadInteger('n='); if n<0 then Writeln(n,'! не определено: n<0') else if n=0 then Writeln('0!=1') else begin var p:BigInteger:=1; for var i:=2 to n do p*=i; Writeln(n,'!=',p) end end.
Логические знаки не дает вставлять - пишу их союзами и частицами подчеркнутыми. 1) Число 376 четное и трехзначное. А = "Число 376 четное" В = "Число 376 трехзначное" А и В 2) Неверно, что Солнце движется вокруг Земли. А = "Солнце движется вокруг Земли" Не А 3) Земля имеет форму шара. А = "Земля имеет форму шара" А 4) На уроке математики старшеклассники отвечали на вопросы учителя и писали самостоятельную работу. А = "На уроке математики старшеклассники отвечали на вопросы учителя" В = "На уроке математики старшеклассники писали самостоятельную работу" А и В 5) Если сумма цифр числа делится на 3, то число делится на 3. А = "Сумма цифр числа делится на 3" В = "Число делится на 3" А стрелка к В 6) Число делится на 3 тогда и только тогда, когда сумма цифр числа делится на 3 А = "Число делится на 3 " В = "Сумма цифр числа делится на 3" А стрелка в обе стороны В
begin
var n:=ReadInteger('n=');
if n<0 then Writeln(n,'! не определено: n<0')
else
if n=0 then Writeln('0!=1')
else begin
var p:BigInteger:=1;
for var i:=2 to n do p*=i;
Writeln(n,'!=',p)
end
end.
Тестовое решение:
n= 138
138!=691778647261948849222819828311491035886734385827028118707676848307166514238979223884785249055995983385450621636277440066920043595627074569065446040152660143904127838730788278294186615891819670506731208704000000000000000000000000000000000