如果函数f的条件:
function f(x : integer) : integer;
begin
if x = 1 then
f = 0
else
f = x * f(x - 1) + x^2
end;
找到f(4)的值
请告诉我一步一步计算
抱歉我的英语很差..答案 0 :(得分:1)
在真实语言(Python)中,您的代码将按如下方式编写:
def f(x):
return 0 if x == 1 else x * f(x - 1) + pow(x, 2)
让我们假设我们从x=4
f(4) = 4 * f(3) + 16
所以我们需要评估f(3)
f(3) = 3 * f(2) + 9
然后评估f(2)
f(2) = 2 * f(1) + 4
我们再次需要f(1)
f(1) = 0
现在我们拥有了所需的所有值,我们可以回到表达式堆栈中:
f(2) = 2 * 0 + 4 = 4
f(3) = 3 * 4 + 9 = 21
f(4) = 4 * 21 + 16 = 100