Дано произвольное натуральное число n. Напечатать все цифры десятичной записи числа n! — Pascal(Паскаль)

 uses crt;
 type long=0..1000000000;
 var a,b: ^long;
 function fact (n: long): long;
  begin
   if n=0 then fact:=1
   else if n>0 then fact:=n*fact(n-1);
  end;
 begin
  clrscr;
  new(a);
  new(b);
  write('введите значение параметра a: ');
  readln(a^);
  writeln;
  write('цифры числа ',a^,'!:  ');
  b^:=a^;   {переменная b используется для хранения значения переменной a, т.к. она изменится}
  a^:=fact(a^);
  while a^ <> 0 do
   begin
    write(a^ mod 10 : 2);
    a^:=a^ div 10;
   end;
  dispose(a);
  dispose(b);
 end.

Leave a Comment

28 − 26 =