[問題] 遞迴和加總

看板C_and_CPP (C/C++)作者 (暴君)時間16年前 (2009/10/27 22:52), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
小弟最近自學遞迴 在書上看到一題 請寫一程式,將1/1! + 1/2! + 1/3! + 1/4! + ... + 1/10!表示出 code: int fact(int n) { if(n > 0) return (n * fact (n - 1)); else return 1; } int main(void) { int i; double sum; sum = 0; for(i = 1; i <= 10; i++) { sum += (1/fact(i)); } cout << "總合為" << sum << endl; system("pause"); return 0; } 可是印出來的總合一直都是1 煩請板上解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.185.8

10/27 22:54, , 1F
整數除法和浮點數除法不同, 你的是整數除法
10/27 22:54, 1F

10/27 23:04, , 2F
謝謝解答!我將for迴圈內的1改成1.0就印出正確答案了
10/27 23:04, 2F

10/27 23:42, , 3F
是各個學校程設課進度都差不多嗎, 最近好多階乘XD
10/27 23:42, 3F

10/27 23:43, , 4F
這時也不得不推一下, 階乘算個13!應該就會爆掉了XDDD
10/27 23:43, 4F

10/28 14:27, , 5F
1+1/1!+1/2!....+1/10!=e=2.71828
10/28 14:27, 5F
文章代碼(AID): #1AvmanBY (C_and_CPP)
文章代碼(AID): #1AvmanBY (C_and_CPP)