English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我希望能做到100階層!該怎修改?溢位問題怎解決?#includeusing namespace std;int main(){int count,sum;cout<<"計數\\t"<<"階層\\n";for(count=1,sum=1;count<=10;count++,sum*=count){cout<

2006-07-03 14:24:46 · 5 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

是不是只要改成100就好?範圍值!

for(count=1,sum=1;count

2006-07-03 16:17:49 · update #1

呃...拜託請教教我!

2006-07-03 16:37:50 · update #2

5 個解答

因為 100! 是很大的數值,所以大型數值用陣列儲存,但是你必須自行計算用多少的陣列。

點下面網址就有儲存大型數值的演算法
給你網址 (良葛格學習筆記):
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/BigNumber.htm

2006-07-04 03:43:03 補充:
因為我上個月就有想到這個問題。

程式語言和編譯器能夠做到的畢竟有限,電腦也不是萬能的,必須靠程式設計者自行寫出演算法才能解決問題

2006-07-03 23:39:34 · answer #1 · answered by Big_John-tw 7 · 0 0

簡單...1000!也沒問題
想知道就與我連係吧

a091103123@cc.kuas.edu.tw

2006-07-04 11:13:14 · answer #2 · answered by ? 1 · 0 0

Windows的計算機程式算出100!=9.33e+157
這個數字就算用long long也放不下
你可以參考Java的BigInt的做法
利用如linked list之類的資料結構
寫一個無窮位數的整數class
並定義這個class的四則運算以及輸入輸出函數
然後就可以計算100!了

2006-07-03 21:14:57 · answer #3 · answered by Code Monkey 4 · 0 0

這決對不是用一般的數值變數來存
100! 好像連double都會溢位吧!!
明天如果有時間在來試試看

2006-07-03 19:36:55 · answer #4 · answered by ? 2 · 0 0

沒那麼簡單

2006-07-03 16:36:47 · answer #5 · answered by 3 · 0 0

fedest.com, questions and answers