Cod sursa(job #14979)

Utilizator dreamsSarpe Roxana dreams Data 10 februarie 2007 14:09:40
Problema Factorial Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.59 kb
program fact;
var p:integer;
    n:byte;
    f,g:text;

function cifre(a:integer):integer;
var rest,i:byte;
begin
i:=0;
rest:=0;
while a>10 do begin
rest:=a mod 10;
a:=a div 10;
inc(i);
end;
cifre:=i;
end;

function factorial(a:integer):longint;
var i:byte;
    aux:longint;
begin
aux:=1;
for i:=1 to a do
aux:=aux*i;
factorial:=aux;
end;

begin
assign(f,'fact.in');
assign(g,'fact.out');
reset(f);
rewrite(g);
read(f,p);
n:=0;
while (cifre(factorial(n))<>p) and (n<3000) do
inc(n);
if n=2999 then write(g,'-1')
          else write(g,n);
close(f);
close(g);
end.