0

为什么我在 codechef 上的代码中出现 nzec 错误??????请帮助问题链接是 http://www.codechef.com/problems/DCE05 我的解决方案是

maxn = 10**9

i = 0

lis = [1]

while(maxn !=0):

    lis.append(2*lis[i])

    i = i+1

    maxn = maxn/2

t = int(input())

for y in range(t):

    n = int(input())

    if n == 0:

        print n

        continue

    for j in range(len(lis)):

        if n > lis[j]:

            continue

        else:

            if lis[j]== n:

                print lis[j]

            else:

                print lis[j-1]

            break
4

2 回答 2

0

不是很容易回答,但是您确定不应该先读取所有输入,然后再打印输出吗?据我了解,输入 2 5 10,您的代码将首先读取 2(测试用例的数量,然后 5(人数)打印第一个结果,然后才读取下一个输入 10。我不确定如果这有帮助,但很容易尝试。

于 2013-03-24T10:11:39.507 回答
0

我以前参加过编程比赛,你应该在产生任何输出之前读取所有输入,而不是同时交错。使用页面上提供的测试用例 [2,5,12] 运行您的代码

2
5
4
12
8

虽然它应该显示什么

2
5
12
4
8
于 2013-03-24T10:23:14.353 回答