Pagini recente » Cod sursa (job #2095077) | Cod sursa (job #810270) | Cod sursa (job #2622303) | Borderou de evaluare (job #2004029) | Cod sursa (job #1011223)
#include<iostream>
#include<fstream>
using namespace std;
int nrOfZeros(int y)
{
int x=y;
int nrZ=x;
while(x>=5)
{
x/=5;
nrZ+=x;
}
return nrZ;
}
//long maxim = 80000003;
long maxim = 800003;
int findTheOne(int current,int p)
{
if(nrOfZeros(current) == p)
return current*5;
if(nrOfZeros(current) < p)
current = (current + maxim) / 2;
else
current /= 2;
return findTheOne(current,p);
}
int main()
{
long p,n;
ifstream f("fact.in");
f>>p;
f.close();
//p=10;
n = (p==0)?1:findTheOne(maxim/2,p);
//cout<<n;
ofstream g("fact.out");
g<<n<<"\n";
g.close();
return 0;
}