Pagini recente » Cod sursa (job #1267677) | Cod sursa (job #797224) | Cod sursa (job #544803) | Cod sursa (job #830772) | Cod sursa (job #755276)
Cod sursa(job #755276)
#include <cstdio>
#include <stdlib.h>
long long binary(long long a, long long b,long long n)
{
long long c = (a+b)/2;
long long sum = 0;
long long aux = c;
while (aux > 0)
{
aux /= 5;
sum += aux;
}
if ((sum != n) && (a>=b))
return -1;
if (sum < n)
return binary((c+1),b,n);
if (sum > n)
return binary(a,c,n);
while (sum == n)
{
c--;aux = c;
sum = 0;
while (aux > 0)
{
aux /= 5;
sum += aux;
}
}
return c+1;
}
int main()
{
FILE *f = fopen("fact.in","r");
FILE *g = fopen("fact.out","w");
long long n;
fscanf(f,"%lld",&n);
if (n==0)
fprintf(g,"1");
else
fprintf(g,"%lld",binary(1,5000000000,n));
return 0;
}