Pagini recente » Cod sursa (job #2690476) | Cod sursa (job #1357461) | Cod sursa (job #2190358) | Cod sursa (job #647477) | 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;
}