聞きたいこと
100の階乗を計算したいのだが、途中から値が負となり、80ごろから0になります。
どうすれば正しい値を計算できますか?
コード
c
1#include <stdio.h> 2#include <math.h> 3#define N 100 4 5int main(void){ 6 long int num = 1,i; 7 for(i = 1; i <= 100 ; i++ ){ 8 num = num * i; 9 printf("%ld\n",num); 10 } 11 //printf("%d", num); 12 return 0; 13 14}
答えは 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 です。long int では足りません。
回答3件
あなたの回答
tips
プレビュー