Pagini recente » Cod sursa (job #108403) | Cod sursa (job #816270) | Cod sursa (job #1980494) | Cod sursa (job #1169307) | Cod sursa (job #314320)
Cod sursa(job #314320)
#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();
s = megold(p);
ofstream g("fact.out");
g << s;
g.close();
return 0;
}