Pagini recente » Cod sursa (job #1639118) | Cod sursa (job #2472736) | Cod sursa (job #2215731) | Cod sursa (job #3244028) | Cod sursa (job #353745)
Cod sursa(job #353745)
#include<cstdio>
#define maxim(a, b) (a>b?a:b)
long long p, x;
long long zero(long long n)
{
long long p5 = 5, r, suma = 0;
while(1)
{
r = n / p5;
if(r == 0) return suma;
suma += r;
p5 *= 5;
}
}
void citeste()
{
FILE* fi = fopen("fact.in", "r");
fscanf(fi, "%lld", &p);
fclose(fi);
}
void scrie()
{
FILE* fo = fopen("fact.out", "w");
fprintf(fo, "%lld\n", x);
fclose(fo);
}
void rezolva()
{
long long li = 1;
long long ls = 100000000;
ls = ls * ls;
long long mij;
while(li < ls)
{
mij = (li + ls) / 2;
if(zero(mij) < p)
li = mij + 1;
else
ls = mij;
}
long long ind = maxim(li, ls) + 1000;
while(zero(ind) >= p && ind >= 1)
{
x = ind;
ind--;
}
}
int main()
{
citeste();
rezolva();
scrie();
return 0;
}