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

Python多项式除法改用//整数运算后余数输出错误问题排查

代码问题原因分析

核心错误:// 运算符取整规则不符合要求

Python 中的 // 执行的是向下取整逻辑,而多项式整数除法要求商的系数向零截断取整,二者在处理负数除法时结果完全不同:

  • 示例:计算 -3 / 2 时,// 会得到 -2(向下取整),但多项式除法需要向零取整得到 -1,这就是测试用例输出结果不符合预期的直接原因。

次要问题:列表引用赋值

你代码中写 divid = dividend 属于引用赋值,没有创建新列表,会直接修改传入的原始被除数列表,属于不规范写法,虽然不影响本次运行结果,但可能在其他场景引发意料之外的问题。

修复方案

将除法行 divid[v] //= divis 替换为向零取整的实现即可:

# 方法1:先做浮点除法再转int,自动向零截断
divid[v] = int(divid[v] / divis)

# 方法2:导入math模块使用trunc,逻辑更明确
import math
divid[v] = math.trunc(divid[v] / divis)

如果需要省略余数的前导零,可以在输出余数前加一步处理:

# 去掉余数前导零,如果全零则保留一个0
while len(remainder) > 1 and remainder[0] == 0:
    remainder.pop(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:24:04