Cod sursa(job #9165)

Utilizator gozmanGrosu Andrei Nicolae gozman Data 26 ianuarie 2007 21:48:00
Problema Factorial Scor 15
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.66 kb
program factorial;
var f:text;
   v:array[1..100] of longint;
   n,nr,p,pt,d,put:longint;
   ok:boolean;
begin
assign(f,'fact.in'); reset(f);
readln(f,p);
close(f);
nr:=0;
ok:=true;
n:=p;
assign(f,'fact.out'); rewrite(f);
while (ok) and (n<>0) do
begin
     d:=1;
     pt:=0;
     put:=0;
     while pt <n do
        begin
              pt:=pt*5+1;
              d:=d*5;
              put:=put+1;
       end;
       if pt-n<put then ok:=false;
       pt:=(pt-1) div 5;
       nr:=nr+d div 5;
       n:=n-pt;
   end;
   if p=0 then writeln(f,'1')
          else
if  not ok then writeln(f,'-1')
           else writeln(f,nr);
close(f);
end.