Cod sursa(job #959806)

Utilizator ROMaANUMitea Lucian ROMaANU Data 8 iunie 2013 21:16:36
Problema Factorial Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.73 kb
uses crt;
var f,g:text;
    n,p:int64;
function nr(x:int64):int64;
var l:int64;
 begin
 if x mod 10=0 then
     begin
     l:=0;
     repeat
     x:=x div 10;
     inc(l);
     until x mod 10<>0;
     nr:=l;
     end
       else nr:=0;
 end;
procedure factorial(p:int64;var n:int64);
var i:int64;
  begin
  if p>=0 then
              begin
               n:=0;i:=1;
               repeat
                inc(n);
                i:=i*n;
               until (nr(i)=p) or (nr(i)>p);
               if nr(i)>p then n:=-1;
              end
          else n:=-1;
  end;
begin
clrscr;
assign(f,'fact.in');
reset(f);
read(f,p);
close(f);
factorial(p,n);
assign(g,'fact.out');
rewrite(g);
write(g,n);
close(g);
end.