Задание: сделать функцию определения того, что данное число является факториалом: function reversef (f: integer; var n: integer): boolean (возвращает
true, если f – факториал, n – число, факториалом которого является f.

Function reversef(f:integer; var n:integer):boolean;
var
  i,k:integer;
  p:longint;
begin
  if f=1 then begin reversef:=true; n:=1 end
  else begin
    k:=2;
    repeat
      p:=1;
      for i:=2 to k do p:=p*i;
      if p    until p>=f;
    if p=f then begin reversef:=true; n:=k end
    else begin reversef:=false; n:=-1 end
  end
end;

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку