Pagini recente » Cod sursa (job #1651690) | Cod sursa (job #1187995) | Cod sursa (job #1264543) | PreOJI 2016 - Clasament - Clasa a 10-a | Cod sursa (job #211439)
Cod sursa(job #211439)
#include <stdio.h>
#define fin "factorialul.in"
#define fout "factorialul.out"
FILE *fi,*fo;
int factorial(int N) {
int i, j, result, dp;
dp=0; result = 1;
for(i = 1; i <= N; i++) {
j = i; //divide i by 2 and 5
while (! (j % 2)) {
j /= 2; dp++;
}
while (! (j % 5)) {
j /= 5; dp--;
}
result = (result * (j % 10)) % 10;
}
for(i = 1; i <= dp; i++) {
result = (result * 2) %10;
}
return result;
}
int main() {
int n,bul,p;
fi = fopen(fin,"r");
fscanf(fi,"%d %d",&n,&p);
fo = fopen(fout,"w");
n=0;
while (!bul)
{
n++;
if (factorialul(n) == p)
{
fprintf(fo,"%d\n",n);
bul = 1;
}
}
fclose(fi);
fclose(fo);
return 0;
}