Cod sursa(job #288790)

Utilizator dyenutzaBalutoiu Diana dyenutza Data 26 martie 2009 09:16:36
Problema Factorial Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.69 kb
var f:text;
    n,p,s,a,x:longint;
    ok:boolean;
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;
while n<maxlongint do     begin
                          ok:=false;
                          x:=5;
                          s:=0;
                          while not ok do begin
                                          a:=trunc(n/x);
                                          if a=0 then ok:=true;
                                          s:=s+a;
                                          x:=x*5;
                                          end;
                          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;
                          end;
end;
end.