matlab中3乘4魔方阵,小代码3 魔方矩阵

#include 

#include 

#define N 4    //测试所用

void fun()

{

int a[9][9],r,c,num,n;  //最大9*9的矩阵  可以修改规模

n=N;

for(r=0;r

for(c=0;c

a[r][c]=0;

r=0;c=n/2;num=1;

a[r][c]=num;             //定位第一个元素

while(num

{

num++;

if(r==0&&c==n-1)r++;

else

{ r--;c++;

if(r<0)r=n-1;          //不断定位

if(c==n)c=0;

if(a[r][c]!=0){r+=2;c--;}

}

a[r][c]=num;            //根据定位 逐渐从1填到n*n

}

for(r=0;r

{for(c=0;c

printf("%3d",a[r][c]);

printf("\n");

}

}

void main()

{

fun();

}

注意到magic(4)在matlab里只有一种打印方式  是有内部函数实现的,而4阶幻方是有不同的写法

这里难点在于循环定位,而基本性质1 求和项值为n(n*n+1)/2 而奇数阶中间值为(n*n+1)/2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值