// 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.
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 begin var k:=0; var Terminate:boolean; repeat Terminate:=True; var n:=ReadInteger('Введите номер месяца:'); case n of 1,3,5,7,8,10,12:Writeln('31 день'); 4,6,9,11:Writeln('30 дней'); 2:Writeln('28 дней в обычном году и 29- в високосном') else begin Writeln('Вы ошиблись, номер должен быть от 1 до 12'); Inc(k); Terminate:=False end end until Terminate; if k>0 then Writeln('Вы ошиблись ',k,' раз(а).') end.
Тестовое решение: Введите номер месяца: 18 Вы ошиблись, номер должен быть от 1 до 12 Введите номер месяца: 0 Вы ошиблись, номер должен быть от 1 до 12 Введите номер месяца: 5 31 день Вы ошиблись 2 раз(а).
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