Pagini recente » Cod sursa (job #1684326) | Cod sursa (job #2267296) | Cod sursa (job #368990) | Cod sursa (job #1291541) | Cod sursa (job #1463052)
#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 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;
}
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;
}