題意:如題目
思路:用乙個陣列,陣列的每一位存乙個8位數,兩個for迴圈,不斷從1開始累乘。
**:
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 100000000; //注意不能超過long long 的表示範圍
long
long factorial[36000];
int main()
if(c > 0)
}printf("%i64d",factorial[len]);
for(int j=len-1; j>=0; j--)
printf("%.8i64d",factorial[j]);
//注意後面的輸出。
printf("\n");
}return
0;}
求10000以內n的階乘
經過我n天的努力,終於把大整數的階乘的乙個演算法看懂了!什麼智商嘛,打擊死我自己了。什麼是大整數的階乘呢,就是結果無論用c 語言中的哪一種資料型別都不能儲存的。既然不能用一種資料型別儲存,那麼只能想其他的辦法儲存了。呵呵,就像 於是,我們自然而然的想到了用陣列來儲存數字。建立乙個int的陣列。因為i...
1172 求10000以內n的階乘
1172 求10000以內n的階乘 時間限制 1000 ms 記憶體限制 65536 kb 提交數 6575 通過數 1675 題目描述 求10000以內n的階乘。輸入 只有一行輸入,整數n 0 n 10000 輸出 一行,即n 的值。輸入樣例 4 輸出樣例 24沒有優化,直接爆掉了。資訊學奧賽一本...
c語言求大數階乘,10000的階乘
10000以內階乘,在c語言中沒有型別可以以儲存這麼大的數,所以我們可以用陣列來存它,int a 10005 這裡10005只是習慣,當然,也可以用斯特靈公式來算a陣列的大小 下面附上 題解請看 注釋,include int a 100000 int main 這層迴圈使得a陣列每個數都是個一位數 ...