Python循环:中断并将循环索引设置为最大值会产生不同的结果

问题描述

我正在尝试解决Codeforce上的问题,但遇到了一个问题: 以下代码不会产生相同的结果(nb的值)。仅末尾的第4行有所不同:将break替换为j=i-1

n = int(input())
a = list(map(int,input().split()))
nb = 0
s1 = 0
k = 0
for i in range(n):
    s1 += a[i]
    s3 = s1
    for j in range(k,i):
        if s3 == 0:
            k = i
            nb += 1
            s1 = a[i]
            break
        s3 -= a[j]

print(nb)

第二个代码:

n = int(input())
a = list(map(int,i):
        if s3 == 0:
            k = i
            nb += 1
            s1 = a[i]
            j = i - 1
        s3 -= a[j]

print(nb)

此外,在前16个测试中,两个值均相同。第二次失败于17日。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)