我正在寫一個C++程序來計算一系列的總和:遞歸函數計劃專邏輯錯誤計算了一系列的總和
所以我寫了一個遞歸函數這樣:
double func(int n)
{
if(n==1)
return 1;
else
return pow(1/n, n) + func(n-1);
}
對於以下系列, 當n
是1
,然後sum
是:1
當n
是2
,然後sum
是:1.25
當n
是3
,所述sum
是1.3611
但是當被執行時,上面的代碼,返回1
用於n
所有值。 有人請告訴我這是什麼?
嘗試使用float或double作爲INT不存儲小數 –
是的,我已經使用雙象返回的數據類型。 –
你有沒有試過'1.0/n'? – Beta