作者tyrant729 (暴君)
看板C_and_CPP
標題[問題] 遞迴和加總
時間Tue Oct 27 22:52:30 2009
小弟最近自學遞迴
在書上看到一題
請寫一程式,將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
1F:推 ledia:整數除法和浮點數除法不同, 你的是整數除法 10/27 22:54
2F:→ tyrant729:謝謝解答!我將for迴圈內的1改成1.0就印出正確答案了 10/27 23:04
3F:→ VictorTom:是各個學校程設課進度都差不多嗎, 最近好多階乘XD 10/27 23:42
4F:→ VictorTom:這時也不得不推一下, 階乘算個13!應該就會爆掉了XDDD 10/27 23:43
5F:→ Knighter:1+1/1!+1/2!....+1/10!=e=2.71828 10/28 14:27