-5
我有這個反覆出現的功能,我需要使用動態編程來編寫它。問題是它返回double,而不是int,我不能改變它。如果它返回整數,我可以將返回的值存儲在數組中相應的索引處,然後使用它來查找其他值。有沒有辦法使用動態編程來解決這個循環函數?
static double f(double n)
{
if(n > 1)
{
return f(n - 3) + (9 * (f(n/5) * f(n/5))) + (2 * f(n - 7))
+ ((n * n * n * n)/2);
}
else
{
return 4;
}
}
例如如果n = 1 I知道結果是4,所以我可以IR存儲爲data[1]=4;
但是當我GETO到n = 6這不起作用,因爲6/5 = 1.2和我不知道1.2的結果是什麼,我不能使用數組來存儲它。我可以使用字典來存儲鍵值對,但是再次,我不知道1.2是什麼結果。
什麼在這種情況下「動態規劃」? – pm100
我懷疑你在說[記憶](https://en.wikipedia.org/wiki/Memoization)... –
使用已知的數據找到下一個值 –