Pagini recente » Cod sursa (job #1345726) | Cod sursa (job #2463770) | Cod sursa (job #1912792) | Cod sursa (job #3280660) | Cod sursa (job #2027734)
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int zero(int n)
{
double i=5,S=0;
while(i<=n)
{
S+=n/i;
i*=5;
}
return S;
}
int cautare(int st,int long dr,int p)
{
double ok=0,m,val_m;
int long i;
while(st<=dr && !ok)
{
m=(st+dr)/2;
val_m=zero(m);
if(p<val_m)
dr=m-1;
else if(p>val_m)
st=m+1;
else ok=1;
}
if(p==0)
return 1;
if(ok==1)
{for(i=m;i%5!=0;)
i--;
return i;
}
return -1;
}
int main()
{
int p;
fin>>p;
fout<<cautare(1,500000000000000,p);
return 0;
}