Pagini recente » Cod sursa (job #1989456) | Cod sursa (job #2641615) | Cod sursa (job #399657) | Cod sursa (job #2853269) | Cod sursa (job #314334)
Cod sursa(job #314334)
#include <iostream>
#include <fstream>
#include <math.h>
#define MAXLONG static_cast<long long>(pow(2,31))-2+static_cast<long long>(pow(2,31))
using namespace std;
long long otosok(long long n)
{
long long s = 0;
long long ot = 5;
while (ot<=n)
{
s+=n/ot;
ot*=5;
}
return s;
}
long long kiszamol(long long e, long long v, long long p)
{
long long k = (e+v)/2;
long 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 long megold(long long p)
{
return kiszamol(1,MAXLONG,p);
}
int main()
{
long long p=0,s=0;
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;
}