首先公佈一下昨天課後練習的解答(昨日題目傳送門在此),
等式FORTY+TEN+TEN=SIXTY
只有一組解:29786 + 850 + 850 = 31486
暴力搜索0~9所有排列的範例程式如下:
from itertools import permutations
def tToN(Tuple):
return int(''.join(map(str,Tuple)))
def check(Tuple):
return tToN(Tuple[:5])+tToN(Tuple[3:4]+Tuple[5:7])*2 ==tToN(Tuple[-3:]+Tuple[3:5])
for p in permutations(range(0,10),10):
if check(p):
print(f"{tToN(p[:5])} + {tToN(p[3:4]+p[5:7])} + {tToN(p[3:4]+p[5:7])} = {tToN(p[-3:]+p[3:5])}")
input是一個列表,存在一個index i,
滿足A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1],
試找出此index i。
舉例來說:
input: A=[2,3,8,5,1]
ouput: 2 (山峰8在index=2的位置)
找到最大值的index回傳,一行解:
def findPeak(A):
return A.index(max(A))