Euler Project36
処理時間:
python 4.118186(s)
pypy 1.056911(x)
#-*- coding:utf-8 -* #Euler36 Dictionary=[] Total=[] max=1000000 def f(fore,back): back.reverse() back=''.join(back) if fore in back: return True else: return False def reversed_number(x): number=str(x) #偶数 if len(number) % 2==0: fore=number[:len(number)/2] back=list(number[len(number)/2:]) return f(fore,back) #奇数 else: fore=number[:len(number)/2] back=list(number[len(number)/2+1:]) return f(fore,back) if __name__=="__main__": for i in range(max): if reveresed_number(i)==True: Dictionary.append(i) for i in Dictionary: if reversed_number(format(i,'b'))==True: Total.append(i) print sum(Total)