Как написать программу для pascal abc которая считает факториал числа который вводит...

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

Как написать программу для pascal abc которая считает факториал числа который вводит пользователь


Информатика (222 баллов) | 56 просмотров
0

Pascal ABC или PascalABC.NET ? Вам оно может и все равно, а разница огромная.

Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.0, сборка 1157 от 02.02.2016
begin
  var n:=ReadInteger('n=');
  if n<0 then Writeln(n,'! не определено: n<0')<br>  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

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

//Pascal ABC.NET v3.0 сборка 1111
//Обойдусь без .Net-овских примочек

var
 a,b,i:integer;
begin
 readln(a);
 if a=0 then
  begin;
   writeln('1');
   exit;
  end;
  if a<0 then<br>   begin;
    writeln('Не определён');
    exit;
  end;
 b:=1;
 for i:=1 to a do
 b:=b*i;
 writeln('Res=',b);
end.

Пример ввода:
3
Пример вывода:
6

(38.6k баллов)
0

Упс, забыл про отрицательные числа.

0

Вот и обойдусь... да еще и NaN ....

0

Это же не число, поэтому я посчитал что NaN тут кстати. Поправил.