Cod sursa(job #9160)

Utilizator gozmanGrosu Andrei Nicolae gozman Data 26 ianuarie 2007 21:31:12
Problema Factorial Scor 70
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.75 kb
program factorial;
var f:text;
   v:array[1..100] of longint;
   n,nr,p,pt,d: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;
     while pt <n do
        begin
              pt:=pt*5+1;
              d:=d*5;
       end;
       pt:=(pt-1) div 5;
       nr:=nr+d div 5;
       n:=n-pt;
       if n<=6 then if n=5 then ok:=false
                           else begin
                                     nr:=nr+5*n;
                                     n:=0;
                                end;
   end;
if  not ok then writeln(f,'IMPOSIBIL')
           else writeln(f,nr);
close(f);
end.