【MATLAB编程】输出所有的九宫图

【问题描述】九宫图是我国古老的数学问题,也是一种数字艺术,就是把1~9九个数字填到3行3列九个方格中,使其每一横、坚、斜行之和都等于15。

【九宫图历史】
《系辞》云:“河出图,洛出书,圣人则之。”在宋朝之前,洛书的记述只有文字。

九宫图实物最早发现于西汉,1977年中国考古学家在安徽阜阳县双古堆西汉古墓中发现汉文帝七年(前173年)的太乙九宫占盘,乃是中国汉代幻方的实物。东汉《数术记遗》也有记载。

后来陈抟以降认为河图洛书的洛书代表九宫图,为 1…9 这 9 个数,而 3 行、3 列以及两对角线上各自的数之和均为 15。
在这里插入图片描述

【问题分析】
1.首先用perms函数产生1-9的全排列矩阵(9!行9列)。
2.用reshape函数把全排列得到的矩阵重构成3x3的矩阵。
3.计算每一个3x3矩阵的行和、列和、主/副对角线和,并判断它们是否相等。
4.若相等,则把结果存在一个张量Result里。

【主程序代码】

%%
clear all;
close all;
%%
num = 9;
Arr 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值