所以我决定在CodeChef上进行竞争性编程。我看到了一个尝试的问题。但我一直得到运行时错误(NZEC),我不知道为什么因为我认为错误只发生在我调用超出绑定的数组项和无限循环时占用太多内存。
问题
1.)获得2个输入A和B
2.)边界:1≤B<1。 A≤10000
3.)然后我做A-B并改变答案的一位数
4.)然后我回来了
注意: 时间限制为1秒,最大源代码大小为50,000字节
e.g
input A >> 95
input B >> 50
output >> 35
实际答案是45,但我们打算改变答案的一位数
所以这是我的解决方案
from random import randint
test1 = True
test2 = True
while test1:
A = int(input("Enter a number: "))
if (A>=1) and (A<=10000):
test1 = False
else:
print("Number must be greater or equal to 1 and less than or equalts to 10,000")
while test2:
B = int(input("Enter a second number: "))
if (B>=1) and (B<=10000) and (B<A):
test2 = False
else:
print("Number must follow rules as above BUT must be less than your first")
solution = str(A-B)
range1 = randint(0, len(solution)-1)
range2 = randint(0,9)
replacement = list(range(0,10))
new_solution = solution.replace(solution[range1], str(replacement[range2]))
print(new_solution)
答案 0 :(得分:0)
“NZEC”不是我们可以轻易查明并说明其原因的具体错误。它只是意味着“非零退出代码”。这可能意味着代码中某处发生了错误,或者代码执行过程耗时太长(这些在线评委通常都有严格的运行时限制)。
一个可能的原因是,在线评委尝试使用字符串输入执行您的代码,这导致您调用int(input(..))
来引发代码无法捕获的ValueError
。