將192與1,2,3分別相乘得到:
192 × 1 = 192
192 × 2 = 384
192 × 3 = 576
將這三個乘積連線起來我們得到乙個1到9的pandigital數, 192384576。我們稱 192384576是192和 (1,2,3)的連線積。
通過將9與1,2,3,4和5相乘也可以得到pandigital數:918273645,這個數是9和(1,2,3,4,5)的連線積。
用乙個整數與1,2, … , n(n大於1)的連線積構造而成的1到9pandigital數中最大的是多少?
i_max = 0
for i in range(1, 10000):
# 標誌位判斷1到9是否出現過
flag_list = [0] * 9
for j in range(1, 10):
p = i * j
while p > 0:
j_p = p % 10
if j_p == 0:
break
flag_list[j_p - 1] += 1
if flag_list[j_p - 1] > 1:
break
p //= 10
if j_p == 0
or flag_list[j_p - 1] > 1:
break
if sum(flag_list) == 9:
i_max = i
break
print(i_max)
尤拉計畫第38題
全數字的倍數 將192分別與1 2 3相乘 192 1 192 192 2 384 192 3 576 連線這些乘積,我們得到乙個1至9全數字的數192384576。我們稱192384576為192和 1,2,3 的連線乘積。同樣地,將9分別與1 2 3 4 5相乘,得到1至9全數字的數918273...
尤拉計畫 6
前十個自然數的平方和是 1 2 2 2 10 2 385 前十個自然數的和的平方是 1 2 10 2 552 3025 所以平方和與和的平方的差是3025 385 2640.找出前一百個自然數的平方和與和平方的差。def get square sub x 遞迴,展開行列式 if x 1 return...
尤拉計畫 14
以下迭代序列定義在整數集合上 n n 2 當n是偶數時 n 3n 1 當n是奇數時 應用以上規則,並且以數字13開始,我們得到以下序列 13 40 20 10 5 16 8 4 2 1 可以看出這個以13開始以1結束的序列包含10個項。雖然還沒有被證明 collatz問題 但是人們認為在這個規則下,...