Pagini recente » Cod sursa (job #730870) | Cod sursa (job #1278385) | Cod sursa (job #269628) | Cod sursa (job #60530)
Cod sursa(job #60530)
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:int64;
z:int64;
begin
if (x<>y) or (abs(x-y)<>1) then
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 else writeln('-1');
end;
begin
assign(input,'fact.in');reset(input);
assign(output,'fact.out');rewrite(output);
while not eof do
begin
readln(p);
calc(0,1000000000000000);
end;
close(output);
end.