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

Codeforces题目Divisibility Problem(1328A)本地正常但提交失败求助

Codeforces 1328A(Divisibility Problem)提交失败问题解决

问题情况

我在完成Codeforces上的Divisibility Problem(1328A)题目时,遇到了问题:代码在Visual Studio中运行能得到预期输出,但提交至Codeforces平台后所有测试用例全部失败。

题目要求

给定t组测试用例,每组包含两个整数a和b,需找出最小的非负整数k,使得(a + k)能被b整除。

我的原代码

t = int(input())
lst = []
for i in range(0,t):
    nums = list(map(int,input().split()))
    result = (nums[0] % nums[-1])
    lst.append(result)
for i in range(0,len(lst)):
    print(lst[i])

问题原因

原代码逻辑错误,直接输出a % b的结果,但这并非题目要求的k值:

  • 当a % b == 0时,k应为0(此时a本身就能被b整除)
  • 当a % b != 0时,k应为b - (a % b)(这样a+k刚好是b的倍数)

比如测试用例a=10、b=3,原代码输出1,但正确的k是2(10+2=12能被3整除)。

修正后的代码

t = int(input())
for _ in range(t):
    a, b = map(int, input().split())
    remainder = a % b
    print(0 if remainder == 0 else b - remainder)

说明

修正后的代码直接针对每组测试用例计算正确的k值,无需额外存储结果列表,逻辑更简洁且符合题目要求,提交后可通过所有测试用例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:48:15