#把1~9分别填入下列横线上
#_ _ _*_ _=_ _*_ _
import functools
import itertools
m=0
a=[1,2,3,4,5,6,7,8,9]
list=list(itertools.permutations(a,9))
t=functools.reduce(lambda x,y: x*y, range(1, 10))
for n in range(0,t):
    list2=tuple(list[n])
    b=int(list2[0])*100+int(list2[1])*10+int(list2[2])
    c=int(list2[3])*10+int(list2[4])
    d=int(list2[5])*10+int(list2[6])
    e=int(list2[7])*10+int(list2[8])
    if(b*c==d*e):
        m=m+1
        print(m,b,c,d,e)

运行结果:

1 134 29 58 67
2 134 29 67 58
3 138 27 54 69
4 138 27 69 54
5 146 29 58 73
6 146 29 73 58
7 158 23 46 79
8 158 23 79 46
9 158 32 64 79
10 158 32 79 64
11 174 23 58 69
12 174 23 69 58
13 174 32 58 96
14 174 32 96 58
15 186 27 54 93
16 186 27 93 54
17 259 18 63 74
18 259 18 74 63
19 532 14 76 98
20 532 14 98 76
21 584 12 73 96
22 584 12 96 73