Cod sursa(job #60232)

Utilizator recviemAlexandru Pana recviem Data 13 mai 2007 11:22:49
Problema Factorial Scor 85
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.77 kb
program fact;

{$mode objfpc}{$H+}

uses
  Classes, SysUtils
  { add your units here };

var
   p:int64;
   
function zero(x:int64):int64;
var
   c:int64;
begin
     c:=0;
     while x div 5 > 0 do
     begin
          c:=c+ x div 5;
          x:= x div 5;
     end;
     zero:=c;
end;

procedure calc(x,y:int64);
var
   d,z:int64;
begin
     d:=(x+y) div 2;
     z:=zero(d);
     if (d mod 5 = 0) and (z = p) then
     case d of
     0: writeln('-1')
     else writeln(d);
     end else
     if z<p then calc(d+1,y)
                            else calc(x,d-1)
end;

begin
     assign(input,'fact.in');reset(input);
     assign(output,'fact.out');rewrite(output);
     while not eof do
     begin
          readln(p);
          calc(0,10000000000000000);
     end;
     close(output);
end.