题目:
观察如下的算式:
9213 x 85674 = 789314562
左边的乘数和被乘数正好用到了1~9的所有数字,每个1次。
而乘积恰好也是用到了1~9的所有数字,并且每个1次。
请你借助计算机的强大计算能力,找出满足如上要求的9数算式一共有多少个?
注意:
- 总数目包含题目给出的那个示例。
- 乘数和被乘数交换后作为同一方案来看待。
代码:
import itertools
nums=[1,2,3,4,5,6,7,8,9]
num=list(itertools.permutations(nums,9))
res=0
for n in num:
for x in range(1,5):
a=n[:x]
b=n[x:]
a1,a2='',''
for i in a:
a1+=str(i)
for j in b:
a2+=str(j)
r=list(str(int(a1)*int(a2)))
r.sort()
if r==['1','2','3','4','5','6','7','8','9']:
res+=1
print(res)
结果:1625