這題可以建表,product()有兩個參數,第一個是你要重複產生的東西,第二個是repeat,看你要每個位子重複幾次,product可以類比雙重迴圈,詳細可以參考官方文件,解釋得很清楚
https://docs.python.org/3/library/itertools.html#itertools.product
而這題用到的技巧與官方範例非常類似,寫起來大概可以長這樣
p_table = [
[int(''.join(x)) for x in product('12', repeat=k)]
for k in range(1, 18)
]
如果有其他不同的作法,歡迎大家寫寫解題報告分享呦 :D