首页 > 解决方案 > 如何消除由相同数字形成但排列的幻方

问题描述

由前 9 个数字组成的幻方是:
[[6, 1, 8], [7, 5, 3], [2, 9, 4]]
[[2, 7, 6], [9, 5, 1], [4, 3, 8]] 等等(8 个有排列的幻方)

我想消除排列,所以它被认为是一个单一的幻方,像这样: [[6, 1, 8 ], [7, 5, 3], [2, 9, 4]]
对内存数据,也就是对处理的结果进行操作是非常困难的。
我想处理内存中的数据并进行动态比较

`

from itertools import permutations
x=[1,2,3,4,5,6,7,8,9]
for a in permutations(x,9):
        if a[0]+a[1]+a[2]==15 and a[3]+a[4]+a[5]==15:
         if a[6]+a[7]+a[8]==15 and a[0]+a[3]+a[6]==15:
            if a[1]+a[4]+a[7]==15 and a[2]+a[5]+a[8]==15:
                if a[0]+a[4]+a[8]==15 and a[2]+a[4]+a[6]==15:
                    print(a[0:3])
                    print(a[3:6])
                    print(a[6:])
                    print()

`

`

标签: python-3.xmagic-square

解决方案


推荐阅读