【发布时间】:2014-10-20 11:39:02
【问题描述】:
我正在练习用 while 循环替换递归,但我遇到了以下问题。
如果你一次只能走 1 或 2 条楼梯,你有多少种方法可以上 n 长的楼梯?
递归解决方案非常简单:
def stairs(n):
if n <= 1:
return 1
else:
return stairs(n-2) + stairs(n-1)
我觉得迭代程序的结构应该是这样的:
def stairs_iterative(n):
ways = 0
while n > 1:
# do something
ways +=1
return ways
但我不知道我需要在#do something 部分中添加什么。有人能帮我吗?伪代码就好了!
【问题讨论】: