如果我有这个功能
def P(n):
iterador = 0
while ( iterador <= n ):
print(iterador)
iterador = iterador + 1
P(8)
哪个指纹
1
2
3
4
5
6
7
8
我要怎么做才能把每个数字加起来,像这样
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36
我知道会是这样的:
P(n) = 1 + 2 + 3 +...+ n
P(1) = 1
P(2) = P(1) + 2
P(3) = P(2) + 3
.
.
.
p(n)=p(n-1)+n
但我不知道怎么把它编成代码
有人能帮我一下吗
谢谢
好的,谢谢大家的帮助。我应用了上述方法,结果如下:
递归的第一步是使用递归。这意味着函数必须在某个地方调用自己。使用递归的下一步是停止递归。这意味着提供一种方法,让函数在返回结果时停止调用自身。对于这个函数,您需要从给定的数字开始,然后将它添加到数字-1,然后将它添加到较小的数字-1,依此类推,直到达到0
如果我们传递这个值
8
,那么if n:
是真的,我们将运行该块。这意味着我们将返回8
加上adder(n-1)
的值,即adder(7)
。返回7
加上adder(6)
,依此类推。当n
是0
时,它只返回该值。这意味着我们有n + adder(n-1) + adder(n-2)... 0
,这是我们正在寻找的算法相关问题 更多 >
编程相关推荐