Pagini recente » Cod sursa (job #161962) | Cod sursa (job #2831817) | Cod sursa (job #657509) | Cod sursa (job #1337732) | Cod sursa (job #2605997)
#include <stdio.h>
int a[2000];
int counter;
void factorial(int n) {
int i, x, temp, rest;
a[0] = 1;
counter = 1;
rest = 0;
for(x=2; x<=n; x++) {
for(i=0; i<counter; i++) {
temp = (x * a[i]) + rest;
a[i] = temp % 10;
rest = temp / 10;
}
while(rest > 0) {
a[counter++] = rest % 10;
rest /= 10;
}
}
}
int main()
{
int n, i, p;
int nrZero;
FILE *fact_in;
FILE *fact_output;
fact_in = fopen("fact.in", "r");
fscanf(fact_in, "%d", &p);
fclose(fact_in);
n = 2;
do {
nrZero = 0;
factorial(n);
for(i=0; i<p; i++) {
if(a[i] == 0 && a[p] != 0) nrZero++;
else {
i = p;
nrZero = 0;
}
}
if(nrZero == p) {
fact_output = fopen("fact.out", "w");
fprintf(fact_output, "%d", n);
fclose(fact_output);
break;
}
n++;
} while(n < 99999);
return 0;
}