一定能行 发表于 6 天前

关于小甲鱼递归,其中有个迭代代码

本帖最后由 一定能行 于 2025-9-5 00:04 编辑

def factIter(n):
    result = n
    for i in range(1,n):
      result *= i
    return result         


factiter(5)
请问是不是这样执行的
i=1:result = 5 × 1 = 5
i=2:result = 5 × 2 = 10
i=3:result = 10 × 3 = 30
i=4:result = 30 × 4 = 120
返回 120

FishC 发表于 6 天前

关于小甲鱼教程中递归与迭代的内容,我可以为你提供一个常见的迭代代码示例(比如计算阶乘),并解释它与递归的区别。


def factorial_iterative(n):
    result = 1
    for i in range(1, n + 1):
      result *= i
    return result

# 示例调用
print(factorial_iterative(5))# 输出 120


迭代与递归的主要区别:

[*] 迭代使用循环结构(如 for 或 while),通过重复执行代码块来解决问题;
[*] 递归通过函数调用自身来分解问题,需注意终止条件以避免无限递归。


如果需要更具体的代码或场景说明,请提供更多细节,我会进一步解释!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

pyzyd 发表于 5 天前

就是你想的这样
页: [1]
查看完整版本: 关于小甲鱼递归,其中有个迭代代码