Pagini recente » Cod sursa (job #1545050) | Cod sursa (job #793347) | Cod sursa (job #829869) | Cod sursa (job #373049) | Cod sursa (job #314325)
Cod sursa(job #314325)
#include <iostream>
#include <fstream>
#include <math.h>
#define MAXLONG static_cast<long>(pow(2,30))-2+static_cast<long>(pow(2,30))
using namespace std;
long otosok(long n)
{
long s = 0;
long ot = 5;
while (ot<=n)
{
s+=n/ot;
ot*=5;
}
return s;
}
long kiszamol(long e, long v, long p)
{
long k = (e+v)/2;
long ize = otosok(k);
if (ize == p)
return k-(k%5);
else if (ize>p)
return kiszamol(e,k,p);
else if (ize<p)
return kiszamol(k,v,p);
}
long megold(long p)
{
return kiszamol(1,MAXLONG,p);
}
int main()
{
long p,s;
ifstream f("fact.in");
f >> p;
f.close();
ofstream g("fact.out");
if (p==0)
{
g << 1;
return 0;
}
s = megold(p);
g << s;
g.close();
return 0;
}