- #include <stdio.h>
- void main(void)
- {
- int b=10000;//base
- int n,q,i,j,p,r,m,max;
- int t[100];
- int aff=0;
- system("cls");
- for(i=0;i<100;i++) t[i]=0;
- printf("Votre nombre pour calculer factorielle (max=209):-->");scanf("%d",&n);
- t[99]=n;
- for(m=n-1;m>=2;m--){
- q=0; for(i=99;i>0;i--)
- {
- p=t[i]*m+q; r=p%b;
- q=(p-r)/b; t[i]=r;
- }
- t[0]=t[0]*m+q;
- }
- if(t[0]>9999) puts("Depassement de capacite: max 209 !!!");
- j=0;
- while (t[j]==0) {j++;max=j;}
- printf("Factoriell de %d -->> ",n);
- for(j=max;j<100;j++) {
- if (t[j]<10) printf("000%d",t[j]);
- else if (t[j]<100) printf("00%d",t[j]);
- else if (t[j]<1000) printf("000%d",t[j]);
- else printf("%d",t[j]);
- }
- for(i=0;i<aff;i++) printf("0");
- }
#include <stdio.h>
void main(void)
{
int b=10000;//base
int n,q,i,j,p,r,m,max;
int t[100];
int aff=0;
system("cls");
for(i=0;i<100;i++) t[i]=0;
printf("Votre nombre pour calculer factorielle (max=209):-->");scanf("%d",&n);
t[99]=n;
for(m=n-1;m>=2;m--){
q=0; for(i=99;i>0;i--)
{
p=t[i]*m+q; r=p%b;
q=(p-r)/b; t[i]=r;
}
t[0]=t[0]*m+q;
}
if(t[0]>9999) puts("Depassement de capacite: max 209 !!!");
j=0;
while (t[j]==0) {j++;max=j;}
printf("Factoriell de %d -->> ",n);
for(j=max;j<100;j++) {
if (t[j]<10) printf("000%d",t[j]);
else if (t[j]<100) printf("00%d",t[j]);
else if (t[j]<1000) printf("000%d",t[j]);
else printf("%d",t[j]);
}
for(i=0;i<aff;i++) printf("0");
}