Pagini recente » Cod sursa (job #2087372) | Cod sursa (job #3262764) | Cod sursa (job #2800932) | Cod sursa (job #2097564) | Cod sursa (job #806069)
Cod sursa(job #806069)
#include <fstream>
#include <iostream>
using namespace std;
long long p;
void cit()
{
ifstream f;
f.open("fact.in");
f>>p;
f.close();
}
void af(long long n)
{
ofstream g;
g.open("fact.out");
g<<n;
g.close();
}
int dscp(long long n)
{
int c=0;
while (n%5==0)
{
n/=5;
c++;
}
return c;
}
long long f(long long n)
{
long long rez=0;
while (n!=0)
{
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)==p) 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()
{
cit();
long long n=cb(1,1000000000000);
if (n!=-1) n=imb(n,f(n));
af(n);
return 0;
}