Pagini recente » Cod sursa (job #2048900) | Cod sursa (job #2147939) | Cod sursa (job #1693030) | Cod sursa (job #2597640) | Cod sursa (job #549168)
Cod sursa(job #549168)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int func(int n)
{
int k = (int)(log(n) / log(5));
int i = 1, q = 0, j = 1;
for(i = 1; i <= k; i++){
j *= 5;
q += n/j;
}
return q;
}
int calc(int P)
{
int k = P * 5, aux;
int q = func(k);
if(P == 0)
return 1;
if(q == P)
return k;
while(q != P) {
aux = k;
while(aux % 5 == 0) {
q--;
aux /= 5;
}
k = k - 5;
if(q == P)
return k;
if(q < P)
return -1;
}
return k;
}
int main()
{
FILE *f = fopen("fact.in", "r");
FILE *g = fopen("fact.out", "w");
int P, i;
fscanf(f, "%d", &P);
// for(i = 0; i <= P; i++ )
fprintf(g, "%d", calc(P));
fclose(f);
fclose(g);
return 0;
}