小编rex*_*ist的帖子

如何手动确定复杂递归函数的输出

这是有问题的递归代码:

def trace(a, b):
    if (a > b):
        return -1
    elif (a == b):
        print (a * a)
        return a * a
    else:
        m = (a + b) / 2
        return trace (a, m) + trace (m + 1, b)

x=trace(1,4)
Run Code Online (Sandbox Code Playgroud)

虽然我不确定这个函数应该做什么,但我们应该x=trace(1,4)手动找到x的值的输出(意思是我们不能使用idle来帮助我们).

一段时间后,我确定该函数将打印1和12.25,这将是分配x时的输出trace(1,4).

但是,我不知道如何确定X的值是什么.虽然答案是-91.75,但我并不知道它是如何得出的(尽管我知道如何,这需要很长时间才能得出这个答案,而且我不确定我们如何才能快速提出在短时间内解决问题,例如在编写考试时).

在此先感谢您的帮助!

python recursion tail-recursion python-3.x

5
推荐指数
1
解决办法
337
查看次数

标签 统计

python ×1

python-3.x ×1

recursion ×1

tail-recursion ×1