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

测试用例执行成功但N-K操作代码报运行时错误,求原因分析

问题背景

给定两个整数N和K,可执行任意次(含0次)将N替换为N−K的操作,目标是得到最小的非负整数N值。

提供代码
T=int(input())
for i in range(T):
    N,K=list(map(int,input().split()))
    if N<K:
        print(N)
    else:
        temp=N % K
        print(temp)
测试用例
3
5 2
4 4
2 5
当前问题

上述测试用例执行成功,但代码运行时出现错误,请问错误原因是什么?

错误原因分析
  • 代码未处理K=0的边界情况:当输入的K为0时,执行N % K会直接抛出ZeroDivisionError(除以零错误)。
  • 从逻辑上来说,当K=0时,执行N−K的操作不会改变N的值,此时最小的非负整数就是N本身,但原代码没有针对这种情况做判断。比如如果测试用例里出现10 0这样的输入,代码就会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:55:11