魔方阵代码(魔方世界代码大全)
admin 发布:2022-12-19 22:15 333
今天给各位分享魔方阵代码的知识,其中也会对魔方世界代码大全进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、求大神!!用matlab编写 魔方阵的函数 ,或者matlab中magic函数的源代码
- 2、如何求解偶数阶魔方阵 用C语言 编写的代码
- 3、C语言编程,输出魔方阵
- 4、pascal 奇数阶魔方阵 注意审题 要完整的代码 谢谢
求大神!!用matlab编写 魔方阵的函数 ,或者matlab中magic函数的源代码
magic()魔方阵的函数 。代码见附件。
在命令窗口下,输入
M = magic(5) %5阶魔方阵
M =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
如何求解偶数阶魔方阵 用C语言 编写的代码
本人亲自写的程序,望采纳,如下:
#includestdio.h
int a[200][200]={0}; /*200为我自己定义的,可根据需要修改*/
void JSZ(int n) /*奇数魔方阵算法*/
{int p,k,i,j;
p=0;k=n/2;
a[p][k]=1;
for(i=2;i=n*n;i++)
{if((i-1)%n==0)
{if(p==n-1)p=0;
else p++;
}
else
{if(p==0)p=n-1;
else p--;
if(k==n-1)k=0;
else k++;
}
a[p][k]=i;
}
}
void Ou4bZ(int n) /*偶数4的倍数魔方阵算法*/
{int a1[200][200],a2[200][200],i,j;
for(i=0;in;i++)
for(j=0;jn;j++)
{if(i%4==0||(i+1)%4==0)a1[i][j]=j+1;
else a1[i][j]=n-j;
}
for(j=0;jn;j++)
for(i=0;in;i++)
{if(j%4==0||(j+1)%4==0)a2[i][j]=n*i;
else a2[i][j]=(n-1-i)*n;
}
for(i=0;in;i++)
for(j=0;jn;j++)
a[i][j]=a1[i][j]+a2[i][j];
}
void N_4OuZ(int n) /*偶数非4的倍数魔方阵算法*/
{int s[200],x[200],z[200],y[200],i,p,k,b[200][200]={0};
z[0]=4;z[1]=10;s[0]=2;s[1]=9;
for(i=2;in/2-1;i++)
{if(i%2==0)
{z[i]=z[i-1]+1;
s[i]=s[i-1]+3;
}
else
{z[i]=z[i-1]+7;
s[i]=s[i-1]+5;
}
}
y[0]=3;y[1]=5;x[0]=1;x[1]=6;
for(i=2;in/2;i++)
{if(i%2==0)
{y[i]=y[i-1]+3;
x[i]=x[i-1]+1;
}
else
{y[i]=y[i-1]+5;
x[i]=x[i-1]+7;
}
}
Ou4bZ(n-2);
for(p=1;pn-1;p++)
for(k=1;kn-1;k++)
b[p][k]=a[p-1][k-1]+(n*n-(n-2)*(n-2))/2;
for(p=1;pn-1;p++)
for(k=1;kn-1;k++)
a[p][k]=b[p][k];
for(i=0;in/2-1;i++)
{a[0][i]=s[i];
a[n-2-i][0]=z[i];
}
for(i=0;in/2;i++)
{a[n-1][n-2-i]=x[i];
a[i][n-1]=y[i];
}
for(i=0;in;i++)
{if(i==0)a[n-1][0]=n*n+1-a[0][n-1];
else if(in/2-1)a[n-1][i]=n*n+1-a[0][i];
else if(i==n-1)a[n-1][n-1]=n*n+1-a[0][0];
else a[0][i]=n*n+1-a[n-1][i];
if(i0in/2)a[i][0]=n*n+1-a[i][n-1];
if(i=n/2in-1)a[i][n-1]=n*n+1-a[i][0];
}
}
void main()/*主函数*/
{int i,j,n;
lp:printf("JieShu(1~200): ");
scanf("%d",n);
if(n1||n==2||n200) /*由于没有二阶魔方阵,"n200"为超出定义范围*/
{printf("SCANF ERROR!\n");
goto lp;
}
if(n%2==0)
{if(n%4==0)Ou4bZ(n);
else N_4OuZ(n);
}
else JSZ(n);
for(i=0;in;i++)
{for(j=0;jn;j++)
printf("%5d",a[i][j]);
printf("\n");
}
goto lp;
}
C语言编程,输出魔方阵
程序代码:
#includelt;stdio.hgt;
#define N 16
int main()
{
int a[N][N]={0},i,j,k,p,n;
p=1;
while(p==1)
{
printf("Enter n(1~%d):",N);
scanf("%d",n);
if((n!=0)(nlt;N)(n%2!=0))
p=0;
}
i=n+1;
j=n/2+1;
a[1][j]=1;
for(k=2;klt;=n*n;k++)
{
i=i-1;
j=j+1;
if((ilt;1)(jgt;n))
{
i=i+2;
j=j-1;
}
else
{
if(ilt;1)i=n;
if(jgt;n)j=1;
}
if(alt;igt;[j]==0)alt;igt;[j]=k;
else
{
i=i+2;
j=j-1;
alt;igt;[j]=k;
}
}
for(i=1;ilt;=n;i++)
{
for(j=1;jlt;=n;j++)
printf("%4d",alt;igt;[j]);
printf("\n");
}
return 0;
}
扩展资料:
1.第一行中间一列的值为1。
所以用j=n/2+1确定1的列数,得出a[1][j]=1。
2.每一个数存放的行比前一个数的行数减1,列数加1。
行数用i=i-1确定,列数用j=j+1确定。
3.如果一个数行数为第一行,则下一个数行数为最后一行。
4.如果一个列行数为最后一列,则下一个数列数为第一列。
5.如果按上面的规则确定的位置上已有数,或上一个数是第一行最后一列,则把下一个数放在上一个数的下面。
pascal 奇数阶魔方阵 注意审题 要完整的代码 谢谢
要求好苛刻啊,你看看这个行不行
const
maxsize = 11;
type
sqrtype = array[1..maxsize, 1..maxsize] of longint;
var
square : sqrtype;
size, row, sum : longint;
procedure makesquare(var sq : sqrtype;limit : longint);
var
num,r,c : longint;
begin
for r:=1 to limit do
for c:=1 to limit do
sq[r, c] := 0;
if (limit and 1)0 then
begin
r:=(limit+1) div 2;
c:=limit;
for num:=1 to limit*limit do
begin
if sq[r,c]0 then
begin
dec(r);
if r1 then
inc(r,limit);
dec(c,2);
if c1 then
inc(c,limit);
end;
sq[r,c]:=num;
inc(r);
if rlimit then
dec(r,limit);
inc(c);
if climit then
dec(c,limit);
end;
end;
end;
procedure writesquare(var sq : sqrtype;limit : longint);
var
row,col : longint;
begin
for row:=1 to Limit do
begin
for col:=1 to (limit div 2) do
write(sq[row,2*col-1]:4,' ',sq[row,2*col]:4,' ');
writeln(sq[row,limit]:4);
end;
end;
begin
size:=3;
while (size=maxsize) do
begin
writeln('Magic Square with size ',size);
writeln;
makesquare(square,size);
writesquare(square,size);
writeln;
sum:=0;
for row:=1 to size do
inc(sum,square[row,1]);
writeln('Sum of the rows,columns and diagonals = ', sum);
writeln;
writeln;
inc(size,2);
end;
end.
关于魔方阵代码和魔方世界代码大全的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 04-30网站统计代码,网站统计代码怎么添加
- 04-30des加密算法源代码(des加密算法c代码)[20240430更新]
- 04-30底部弹出图片代码(点击弹出图片代码)[20240430更新]
- 04-30学生信息录入代码(程序录入学生信息)[20240430更新]
- 04-30jQuery隐藏代码(jquery 隐藏控件)[20240430更新]
- 04-30js代码重用(可重用代码)[20240430更新]
- 04-30jquery自动滚动切换特效代码(html滚动效果代码)[20240430更新]
- 04-30经典图片切换代码下载(图片转代码软件下载)[20240430更新]
- 04-30代码日记(代码 笔记)[20240430更新]
- 04-30比较好的源代码网站(开源代码网站推荐)[20240430更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接