我今天的問題是,我是否沿著正確的歐拉145道路行駛,并且是否有點效率。我的大部分精力都在下降,只有我的一個Defs給我?guī)砹寺闊篿nt(str(numb)[:i])%2 == 0進行均勻檢查。我的代碼如下。第10行是問題點def reversed(reg): # to flip the number around fliped = str(reg)[::-1]; return(int(fliped)); # Return it as a int. def allEvenDigits(numb): # This is the issue one hasEvenNumb = False; for i in range(0, len(str(numb))): if int(str(numb)[:i])%2 == 0: # if int of the string numb's char at i is even hasEvenNumb = True; ## return that it is true break; # why go on if we found a even. return(hasEvenNumb);for i in range(1, 1000): # its 1000 to save a few minutes revNumb = reversed(i); total = revNumb+i; if(allEvenDigits(total)): print(i, "+" , revNumb, "=",Total);
3 回答

子衿沉夜
TA貢獻1828條經(jīng)驗 獲得超3個贊
def sumrevers(x):
summation = x + int(str(x)[::-1])
if summation % 2 != 0: return summation
def checknum(x):
if not (str(x)[-1] == "0") or (str(x)[0] == "0"):
if type(sumrevers(x)) == int:
num = str(sumrevers(x))
checklis = [k for k in str(num)]
if all(int(i) % 2 != 0 for i in checklis): return True
cnt = 0
for i in xrange(1, 1000000001):
if checknum(i):
cnt += 1
print cnt
添加回答
舉報
0/150
提交
取消