Cod sursa(job #34880)

Utilizator cheery_g1rlHaller Emanuela cheery_g1rl Data 21 martie 2007 16:35:48
Problema Factorial Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.1 kb
var  f,g:text;
     a,b,c,m,lv,i,j,p:longint;
     v:array[1..20] of longint;
function prime(c:longint):boolean;
    begin
        if c mod 5=0 then prime:=true
          else prime:=false;
       end;
function ver(c:longint):longint;
     var w:longint;
    begin
      w:=0;
      for j:=1 to lv do
         begin
           w:=w+c div v[j];
         end;
         ver:=w;
      end;
function cauta(a,b:longint): longint;
      var t:longint;
      begin

        if a=b then
           begin
           if m<>p then t:=-1
              else t:=a;
           end
           else
            begin
              c:=(a+b) div 2;
              m:=ver(c);
              if (m=p) and (prime(c))
                 then t:=c else
              if m>=p then t:=cauta(a,c)
                           else  t:=cauta(c+1,b);            end;
       cauta:=t;
      end;
begin
assign(f,'fact.in');
reset(f);readln(f,p);
close(f);
lv:=15;
v[1]:=5;
for i:=2 to 15 do v[i]:=v[i-1]*5;
assign(g,'fact.out');
rewrite(g);
if p=0 then writeln(g,'1') else writeln(g,cauta(0,1000000000));
close(g);
end.