Pagini recente » Cod sursa (job #474149) | Cod sursa (job #1675314) | Cod sursa (job #789101) | Cod sursa (job #2675917) | Cod sursa (job #1752018)
#include <iostream>
#include <fstream>
using namespace std;
ifstream q("fact.in");
ofstream w("fact.out");
int nr0(int n)
{
int i=5,s=0;
while(i<=n)
{
s+=n/i;
i*=5;
}
return s;
}
int main()
{int p;
long long n,i,lim, cur; ///cur- nr. curent din cautarea binara
q>>p;
if(p==0)
{
w<<"1";
return 0;
}
n=0;
lim=400000015;
i=1;
while(1)
{
cur=(i+lim)/2;
n=nr0(cur);
if(n<p)i=cur+1;
else if(n>p) lim=cur-1;
else if(n==p)
{
while(n==p)
{
cur--;
n=nr0(cur);
}
w<<cur+1;
return 0;
}
if(nr0(i)>p)
{
w<<"-1";
return 0;
}
}
return 0;
}