我怎样才能解决伪代码+功能

发布于 2024-10-03 07:13:39 字数 197 浏览 2 评论 0原文

if 函数 f 的条件:

function f(x : integer) : integer;
begin
if x = 1 then
f = 0
else
f = x * f(x - 1) + x^2
end;

找到 f(4) 的值

向我展示计算的步骤,请

原谅我糟糕的英语..

if condition of function f :

function f(x : integer) : integer;
begin
if x = 1 then
f = 0
else
f = x * f(x - 1) + x^2
end;

find value of f(4)

show me the step by step for calculate please

sorry for my poor english..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮是我掰弯的 2024-10-10 07:13:39

在真正的语言 (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

In a real language (Python) your code would be written as follows:

def f(x):
    return 0 if x == 1 else x * f(x - 1) + pow(x, 2)

Going Down

Lets assume we start with x=4

f(4) = 4 * f(3) + 16

So we nee to evaluate f(3)

f(3) = 3 * f(2) + 9

and then evaluate f(2)

f(2) = 2 * f(1) + 4

Again we need f(1)

f(1) = 0

Coming Back Up

Now we have all the values we need we can go back up the stack of expressions:

f(2) = 2 * 0 + 4 = 4

f(3) = 3 * 4 + 9 = 21

f(4) = 4 * 21 + 16 = 100
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文