Pagini recente » Cod sursa (job #3188526) | Cod sursa (job #1890304) | Cod sursa (job #2320288) | Cod sursa (job #1779324) | Cod sursa (job #806387)
Cod sursa(job #806387)
#include <iostream>
#include <fstream>
using namespace std;
long long p;
ifstream f("fact.in");
ofstream g("fact.out");
int dscp(long long n)
{
int c=0;
while (!n%5)
{
n/=5;c++
}
return c;
}
long long f(long long n)
{
long long rez=0;
while (n)
{
rez+=n/5;
n/=5;
}
return rez;
}
long long c;
long long cb(long long a,long long b)
{
if (a>b)
return -1;
c=(a+b)/2;
if (f(c)==9)
return c;
if (f(c)<p)
return cb(c+1,b);
if (f(c)>p)
return cb(a,c-1);
}
long long imb(long long n,long long t)
{
while (f(n)==t)
n--;
return n+1;
}
int main()
{
f>>p;
if (p==0)
g>>1;
else
{
long long n=cb(1,1000000000000);
if (n!=-1)
n=imb(n,f(n));
g>>n;
}
return 0;
}