做題的時候看到這道題,答案給得有點過於復雜了,記錄一下自己的做法。
古紙殘篇:
在一位數學家的藏書中夾有這一張古舊的紙片,紙片上的字早已模糊不清了,只留下曾經寫過字的痕跡,依稀還可以看出它是一個乘法算式,這個
算式上原來的數字是什麼呢?夾著這張紙片的書頁上,“素數”兩個字被醒目的劃了出來,難道說,這個算式與素數有什麼關系嗎?有人對此作了深
入的研究,果然發現這個算式中的每一個數字都是素數,而且這樣的算式是唯一的。請你用編程找出這個算式。
for num1 in range(100, 1000):
for num2 in range(10, 100):
num21 = num2 // 10
num22 = num2 % 10
num3 = num1 * num22
num4 = num1 * num21
num5 = num3 + num4 * 10
if num3<1000 or num3 >=10000 or num4<1000 or num4 >=10000 or num5 < 10000 or num5 >= 100000:
continue
s = str( num1) + str( num2) + str( num3) + str( num4) + str( num5)
for i in range( 0, len(s)):
if s[i] not in ['2', '3', '5', '7']:
break
if i == len(s)-1:
print(" ", num1)
print("* ", num2)
print("---------")
print(" ", num3)
print( num4)
print("--------")
print(num5)
print("")