Cod sursa(job #569646)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 1 aprilie 2011 21:48:27
Problema Factorial Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.27 kb
program factorial;
var f,g:text;
nrzero,p,n,i,j,k:longint;
begin
assign(f,'fact.in');
reset(f);
assign(g,'fact.out');
rewrite(g);
readln(f,p);
close(f);
i:=0;
j:=0;
k:=0;
n:=0;
nrzero:=0;
if p=0 then begin
writeln(g,1);
close(g);
exit;
end;
i:=0;
while i<100000000 do begin
i:=i+5;
{if (i in [25,125,625]),3125,15625,78125,390625,1953125,9765625,48828125,24414062,
10,100,1000,10000,100000,1000000,10000000,100000000] then begin
}if i=25 then nrzero:=nrzero+2 else
if i=125 then nrzero:=nrzero+3 else
if i=625 then nrzero:=nrzero+4 else
if i=3125 then nrzero:=nrzero+5 else
if i=15625 then nrzero:=nrzero+6 else
if i=78125 then nrzero:=nrzero+7 else
if i=390625 then nrzero:=nrzero+8 else
if i=1953125 then nrzero:=nrzero+9 else
if i=9765625 then nrzero:=nrzero+10 else
if i=48828125 then nrzero:=nrzero+11 else
if i=10 then nrzero:=nrzero+1 else
if i=100 then nrzero:=nrzero+2 else
if i=1000 then nrzero:=nrzero+3 else
if i=10000 then nrzero:=nrzero+4 else
if i=100000 then nrzero:=nrzero+5 else
if i=1000000 then nrzero:=nrzero+6 else
if i=10000000 then nrzero:=nrzero+7 else
if i=100000000 then nrzero:=nrzero+8
else inc(nrzero);
if p<= nrzero then begin
if p=nrzero then writeln(g,i)else if p<nrzero then writeln(g,-1);
close(g);
halt;
end;
end;
end.