查找所有可能的幻方(3x3)python

2024-04-18 02:06:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要这些人上学,请帮帮我。 我只能找到一个魔方如何找到所有请。你知道吗


Tags: 魔方帮帮我上学
1条回答
网友
1楼 · 发布于 2024-04-18 02:06:42

我将把如何生成幻方作为练习。如果您对它仍然有困难,您可以在StackOverflow上找到关于如何在Python中生成给定大小的幻方的其他问题。你知道吗

一旦你有了3x3魔方magic(3)(作为一个numpy ndarray),你就可以通过执行所有可能的旋转和反射来获得该大小的所有可能的魔方:

rotations = [np.rot90(magic(3), x) for x in range(4)]
reflections = [np.flip(x, 1) for x in rotations]
all_magic_3x3 = rotations + reflections

这将生成一个包含以下8个magic 3x3矩阵的列表:

[[8 1 6]
 [3 5 7]
 [4 9 2]]

[[6 7 2]
 [1 5 9]
 [8 3 4]]

[[2 9 4]
 [7 5 3]
 [6 1 8]]

[[4 3 8]
 [9 5 1]
 [2 7 6]]

[[6 1 8]
 [7 5 3]
 [2 9 4]]

[[2 7 6]
 [9 5 1]
 [4 3 8]]

[[4 9 2]
 [3 5 7]
 [8 1 6]]

[[8 3 4]
 [1 5 9]
 [6 7 2]]

相关问题 更多 >