Bonjour à tous j'ai le programme suivant :
qui calcul le factorielle d'un entier. Mon problème est que mon programme ne sait pas calculer le factorielle d'un entier au-delà de n=31. Que puis-je faire pour passer outre cette limite ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 include <stdio.h> #include <math.h> long int factorielle(int); int main(void) { int n; long int f; printf("n....."); scanf("%d",&n); f=factorielle(n); if(n>0) printf("n!....%d\n",f); else printf("0!....%d\n", 1); } long int factorielle(int n) { int i=0; long int temp=n; while(i<=n-2) { i=i+1; temp=temp*(n-i); } return temp; }
Merci d'avance
Partager