没有合适的资源?快使用搜索试试~ 我知道了~
用c++语言编写魔方阵
5星 · 超过95%的资源 需积分: 9 8 下载量 5 浏览量
2010-06-21
17:37:19
上传
评论 2
收藏 32KB DOC 举报
温馨提示
试读
2页
魔方阵,不管从行、列还是斜着相加总和不变。如N为3, 4 9 2 3 5 7 8 1 6 N为4 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
资源推荐
资源详情
资源评论
#include <stdio.h>
#dene N 100
int a[N][N];
void magic(int n)
{
int i,j,t,u,v,x,y;
//奇数阶(2k+1)
if(n%2!=0)
{
y=(n+1)/2;x=y+1;
for(i=1;i<=n*n;i++)
{
a[x][y]=i;
if(i%n==0) x+=2;
else
{
x+=1;
y+=1;
}
if(x>n) x-=n;
if(y>n) y-=n;
}
}
//双偶阶(4k)
if(n%4==0)
{
t=n*n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if((i-j)%4==0 || (i+j-1)%4==0)
{
a[i][j]=t;
t-=1;
}
else
{
a[i][j]=n*(i-1)+j;
t-=1;
}
}
//单偶阶(4k+2)
if(n%4!=0 && n%2==0)
{
u=n/2;v=u*u;y=(u+1)/2;x=y+1;t=y;
for(i=1;i<=u*u;i++)
{
a[x][y]=i;a[x][y+u]=i+2*v;
a[x+u][y]=i+3*v;a[x+u][y+u]=i+v;
if(i%u==0)
x+=2;
else
{
x+=1;
y+=1;
资源评论
- simpllove2012-07-21该程序很好地描述出了怎么用数组编写魔方阵问题 很不错。。。
haizhixianbin
- 粉丝: 4
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功