Pagini recente » Monitorul de evaluare | Cod sursa (job #874829) | Cod sursa (job #3170144) | Cod sursa (job #161424) | Cod sursa (job #2075740)
#include <stdio.h>
unsigned long long int getNumberOf0(unsigned long long int i);
int main()
{
FILE *fin = fopen("fact.in", "r"),
*fout = fopen("fact.out", "w");
unsigned long long int p;
fscanf(fin, "%lld", &p);
unsigned long long int step = 1 << 63;
unsigned long long int r = 0;
while (step != 0)
{
if(getNumberOf0(r + step) < p)
r += step;
step /= 2;
}
fprintf(fout, "%lld", r + 1);
fcloseall();
return 0;
}
unsigned long long int getNumberOf0(unsigned long long int n)
{
unsigned long long int p = 5;
unsigned long long int n0 = 0;
while(p <= n)
{
n0 += n / p;
p *= 5;
}
return n0;
}