Pagini recente » Cod sursa (job #400413) | Cod sursa (job #1512016) | Cod sursa (job #530036) | Cod sursa (job #2164866) | Cod sursa (job #3219149)
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int count(int n) // nr de zerouri dat de cate ori putem imparti factorialul la 5
{
int nr = 0;
while (n >= 5)
{
nr += n / 5;
n /= 5;
}
return nr;
}
int find(int p)
{
int st = 1, dr = p * 5;
while (st < dr)
{
int mij = (st + dr) / 2;
int zero = count(mij);
if (zero < p)
st = mij + 1;
else
dr = mij;
}
return st;
}
int main()
{
FILE *pf = fopen("fact.in", "r");
FILE *pg = fopen("fact.out", "w");
int p;
fscanf(pf, "%d", &p);
int x = find(p);
fprintf(pg, "%d", x);
fclose(pf);
fclose(pg);
return 0;
}