遞歸函數中可以使用pow函數嗎? 例如:遞歸函數中的Pow函數C++
double exponencial(double x, int n){
if(n>0)
return (pow(x,n)/n)+exponencial(x,n-1);
return 1;
}
遞歸函數中可以使用pow函數嗎? 例如:遞歸函數中的Pow函數C++
double exponencial(double x, int n){
if(n>0)
return (pow(x,n)/n)+exponencial(x,n-1);
return 1;
}
您可以在遞歸中使用任何函數。 pow
只是一個沒有特別的功能。
同意,但也許應該注意,有一些函數不適合遞歸 - 一些時間函數和例如'strtok'。 – 2013-03-13 14:02:51
有人告訴我,我不能和我認爲這很奇怪...謝謝! – 2013-03-13 14:06:53
遞歸不穿什麼功能,你可以和不可以使用任何限制。所以是的,pow
可以用在遞歸函數中。
在你的榜樣,pow(x,n)
稱爲第一(最有可能),並且返回值將除以n。然後,將所有相關數據壓入堆棧(包括我們剛剛完成的計算的答案),並調用exponencial(x,n-1)
。當這個遞歸調用返回時,數據會再次從堆棧中彈出,並計算並返回最終結果。
YES ..你可以的作品相似,你寫
我很好奇,其他任何功能
它只是一個功能,你爲什麼認爲它不能用? – StoryTeller 2013-03-13 14:00:35
您可以使用它。在這個特殊情況下,這顯然是一個糟糕的主意。函數的名稱也是一個壞主意,因爲這不是你正在計算的東西。 – 2013-03-13 14:48:37