Pagini recente » Cod sursa (job #1980665) | Cod sursa (job #1178908) | Cod sursa (job #1321788) | Cod sursa (job #765520) | Cod sursa (job #1463122)
#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;
const unsigned long MAX = 100000000;
unsigned long fact(unsigned long N) {
if(N <= 1) {
return 1;
}
else {
return N * fact(N-1);
}
}
int nrZero(unsigned long N) {
unsigned long nr = 0;
int result = 0;
for(unsigned long i = 5; i <= N; i+=5) {
nr = i;
while(nr % 5 == 0) {
nr /= 5;
result++;
}
}
return result;
}
int main(int argc, char const *argv[])
{
FILE *fIn,*fOut;
if((fIn = fopen("fact.in", "r")) == NULL) {
fprintf(stderr, "Can't open file\n");
return 0;
}
fOut = fopen("fact.out","w");
int P; unsigned long res;
bool OK = false;
fscanf(fIn,"%d", &P);
if(P == 0) {
res = 1;
fprintf(fOut, "%d\n", res);
return 0;
}
for(unsigned long i = 1; i <= MAX; ++i) {
res = nrZero(i);
if(res == P) {
cout << i << endl;
fprintf(fOut, "%d\n", i);
break;
}
}
// }
// unsigned long tmp = (unsigned long)pow(10,P);
// for(unsigned long i = 1; i <= MAX; ++i) {
// res = fact(i);
// if(res % tmp == 0) {
// cout << i << ' ' << tmp << endl;
// fprintf(fOut, "%d\n", i);
// OK = true;
// break;
// }
// }
// if(!OK) {
// fprintf(fOut, "%d\n", -1);
// }
// cout << fact(45) << endl;
fclose(fOut);
fclose(fIn);
return 0;
}