Pagini recente » Cod sursa (job #1318606) | Cod sursa (job #1056606) | Cod sursa (job #1203030) | Cod sursa (job #2718026) | Cod sursa (job #2418555)
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
const int N = 1e8;
int p,st=1,dr=N*5+5,mij;
int power(int x)
{
int rez=1;
for (int i=1; i<=x; ++i)
rez*=5;
return rez;
}
int count_zeros(int mij)
{
int x,zerouri=0;
x=log2(mij*1.0)/log2(5.0);
for (int i=1; i<=x; ++i)
zerouri+=mij/power(i);
return zerouri;
}
int main()
{
in>>p;
while (st<dr)
{
mij=(st+dr)/2;
if (count_zeros(mij)<p)
st=mij+1;
else
dr=mij;
}
if (count_zeros(dr)==p)
out<<dr<<"\n";
else
out<<"-1\n";
}