2016-10-06 7 views
0

私はthis challengeを試しています。私はそれを解決したと思います。しかし、私が解決策を提示するとき、それは常に60%から70%の間にあります。私のソリューションで何が問題になっていますか?CodeEval二重チャレンジ

from sys import argv 
with open(argv[1],'r') as test_cases: 
    for item in test_cases: 
     item = int(item) 
     count = 0 
     for i in range(int((item/2)**0.5)+1): 
      if ((item - i**2)**0.5) % 1 == 0: 
       count+=1 
     print(count) 

答えて

0

あなたは最初の値を読み逃したN(test_casesの数)

with open(argv[1],'r') as test_cases: 
    N = int(next(test_cases)) #get rid of it :) 
    for item in test_cases: 
     item = int(item) 
     count = 0 
     for i in range(int((item/2)**0.5)+1): 
      if ((item - i**2)**0.5) % 1 == 0: 
       count+=1 
     print(count)