| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:[求助]魔方阵问题~请各位指点一下呀~
只看楼主 加入收藏
kuteboy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-8
收藏
 问题点数:0 回复次数:3 
[求助]魔方阵问题~请各位指点一下呀~
一道魔方阵的程序:
#include <stdio.h>
#define NUM 6
main()
{
int magic[NUM][NUM]={0};
int i,j,value;
i=0;j=NUM/2;
magic[i][j]=1;
for(value=2;value<=NUM*NUM;value++)
{ if(magic[(i-1+NUM)%NUM][(j+1)%NUM]==0) //请帮忙说一下这句是怎么想出来的~
{ i=(i-1+NUM)%NUM;
j=(j+1)%NUM;}
else{
i=(i+1)%NUM;}
magic[i][j]=value;}
printf("\nThe magic(%d*%d) is:\n",NUM,NUM);
for(i=0;i<NUM;i++)
{ for(j=0;j<NUM;j++)
printf("%4d",magic[i][j]);
printf("\n");}
}
搜索更多相关主题的帖子: 魔方 
2007-11-10 08:51
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
收藏
得分:0 

你的程序用于构造奇数阶的魔方
算法你google下


上善若水,水善利万物而不争,处众人之所恶
2007-11-10 09:08
s119446775
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-25
收藏
得分:0 
举个例子
阶数N是奇数魔方阵
下面举例子说明以3阶魔方阵为例
第1步: 中间填 1
x 1 x
x x x
x x x
第2步:数2应向1的右上角填但是没地方了就移到右下角
x 1 x
x x x
x x 2
第3步:数3应向2的右上角填但是没地方了就移到2上一行的最左边
x 1 x
3 x x
x x 2
第4步:数4应向3的右上角填但是这个地方已经有数字1了就移到3下边
x 1 x
3 x x
4 x 2
第5步:数5向4的右上角填
x 1 x
3 5 x
4 x 2
第6步 数6向5的右上角填
x 1 6
3 5 x
4 x 2
第7步:数7应向6的右上角填但是没地方了就移到6下边
x 1 6
3 5 7
4 x 2
第8步:数8应向7的右上角填但是没地方了就移到3上边
8 1 6
3 5 7
4 x 2
第9步:数9应向8的右上角填但是没地方了就移到5下边
8 1 6
3 5 7
4 9 2
2007-11-10 11:05
kuteboy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-8
收藏
得分:0 

感谢~


2007-11-10 19:42
快速回复:[求助]魔方阵问题~请各位指点一下呀~
数据加载中...
 
   



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

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