Cod sursa(job #288828)

Utilizator dyenutzaBalutoiu Diana dyenutza Data 26 martie 2009 09:52:35
Problema Factorial Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.15 kb
var f:text;
    n,p,s,aux,x:longint;
    ok:boolean;
procedure verificare(var n:longint;var x:longint);
          begin
          x:=0;
          while n mod 5=0 do begin
                             inc(x);
                             n:=n div 5;
                             end;
          end;

begin
assign(f,'fact.in');
reset(f);
read(f,p);
close(f);
if p=0 then begin
            assign(f,'fact.out');
            rewrite(f);
            write(f,1);
            close(f);
            halt;
            end
else
if p=1 then begin
            assign(f,'fact.out');
            rewrite(f);
            write(f,5);
            close(f);
            halt;
            end
else
begin
n:=5;
s:=0;
repeat
aux:=n;
verificare(aux,x);
if aux<>1 then inc(s)
else s:=s+x;
if s=p then begin
            assign(f,'fact.out');
            rewrite(f);
            write(f,n);
            close(f);
            halt;
            end
else
if s>p then begin
            assign(f,'fact.out');
            rewrite(f);
            write(f,-1);
            close(f);
            halt;
            end;
n:=n+5;
until n=maxlongint;
end;
end.