标题:谁有求偶数阶魔方阵的算法?
取消只看楼主
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
 问题点数:0 回复次数:1 
谁有求偶数阶魔方阵的算法?
魔方阵:每一行、每一列和对角线之和都相同的方阵,n阶魔方阵的元素集为1~n*n
如:8 1 6
3 5 7
4 9 2
现在奇数阶的魔方阵已经有了固定的算法,可是偶数阶不知怎么做,哪位线性代数好的提供点思路?
搜索更多相关主题的帖子: 偶数阶 魔方 算法 线性代数 方阵 
2007-03-23 23:48
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
得分:0 

用了半个小时才把这个写出来,只能输出奇数阶魔方阵的一种形式,不知道每阶魔方阵是不是都可以等价为一种?
源程序如下,宏定义N是阶数:
#include "stdio.h"
#define N 7
main()
{
int col[N][N],row[N][N];
int i,j;
/*求行矩阵*/
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
col[i][j]=(-1)*i+j+(N+1)/2;
if(col[i][j]>N)
col[i][j]-=N;
if(col[i][j]<1)
col[i][j]+=N;
}
}
/*求列矩阵*/
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
row[i][j]=col[i][N-j-1];
}
}
/*由行矩阵、列矩阵和自然矩阵计算魔方阵*/
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%5d",(col[i][j]-1)*N+row[i][j]);
}
printf("\n");
}
}


“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-03-24 00:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-126313-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.281720 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved