Cod sursa(job #527541)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 31 ianuarie 2011 20:32:03
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.48 kb
var     a:array[1..20] of int64;
        p,n:int64;
        i:integer;
        b:boolean;
        f:text;
begin
assign(f,'fact.in');
reset(f);
read(f,p);
close(f);
b:=true;
if p=0 then n:=1 else
  begin
a[1]:=6;
for i:=2 to 20 do
  a[i]:=a[i-1]*5+1;

for i:=20 downto 1 do
  if p mod a[i]= a[i]-1 then begin b:=false; break; end else p:=p-(p div a[i]);

if b then n:=p*5;
  end;

assign(f,'fact.out');
rewrite(f);
if b then write(f,n) else write(f,-1);
close(f);
end.