You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

算法练习时Python代码出现Execution Timed Out错误,求解决方法

问题分析与修复

你的代码出现超时是因为无限循环:当n=1时,循环条件n >= 1依然成立,执行奇数分支后n变成4,后续会逐步回到1,陷入死循环无法退出。

另外伪代码描述的是考拉兹猜想的单步逻辑,但你的函数需要统计到n变为1时的步数,所以循环终止条件和逻辑需要调整:

修复后的代码

def hotpo(n):
    calculator = 0
    # 当n不等于1时继续循环,避免n=1时进入死循环
    while n != 1:
        if n % 2 == 0:
            n = n // 2  # 用整数除法//替代浮点数除法/,避免后续出现小数导致取余错误
        else:
            n = 3 * n + 1
        calculator += 1
    return calculator

关键修改点

  • 循环条件改为n != 1:当n变成1时直接退出循环,符合考拉兹猜想统计步数的需求
  • 用n = n // 2替代n = n / 2:浮点数除法会让n变成小数(比如4/2=2.0),后续n % 2虽然结果正确,但整数除法更贴合问题场景,避免不必要的类型转换

内容的提问来源于stack exchange,提问作者mustafaoguzbaran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:45:37