python - 查找所有可能的幻方(3x3)python
问题描述
我需要这些人上学请帮忙。我只能找到一个魔方,请问如何找到所有的。
解决方案
我将找出如何生成幻方作为练习。如果您仍然遇到问题,您可以在 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 个魔法 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]]
推荐阅读
- python - 在 Python 2.7.5 中使用 any 时无法检查 for 循环当前迭代中的值
- laravel - 试图获取非对象的属性“datep”?
- ios - 如何在 CarPlay 上播放视频?
- azure-data-factory-2 - 无法在 Azure 数据工厂 V2 中对 Webhook 活动实施重试
- javascript - 单击其他按钮不允许我重新单击原始按钮
- r - 时间存储为 R 中自星期一以来的秒数
- javascript - 向下滚动时无法将拖动的 div 拖放到图像的一部分
- python - Python PySide2:使用按钮启动 QDialog 并等待响应
- python - 在 Matplotlib 中跨多个图形共享 Y 轴
- javascript - NodeJS 导入类导致 SyntaxError: Unexpected identifier