簡體   English   中英

為什么我的代碼出現nzec錯誤?

[英]why do i get nzec error on my code?

為什么在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

回答起來不是很容易,但是您確定不應該先閱讀所有輸入,然后再打印輸出嗎? 據我了解,輸入2 5 10時,您的代碼將首先讀取2(測試用例數,然后5(人數))打印第一個結果,然后才讀取下一個輸入10。我不確定如果這可以幫助但很容易嘗試。

我之前參加過編程競賽,您應該在產生任何輸出之前先讀取所有輸入,而不是將兩者交錯。 使用頁面上提供的測試用例[2,5,12]運行代碼可以得到

2
5
4
12
8

而它應該顯示什么

2
5
12
4
8

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM