奇幻方的摇摆法和阶梯法

奇幻方的摇摆法
奇幻方主流有四种求法.我用了一种.还有个阶梯法比较搞人.第二个printf没法用...
算法.第一行中间是1
每次向右上移动.
到了边界则换到另外一个边界.
如果下一个数有了.就下一一个
如果到了右上角就下一一个.
我这个是5阶幻方.
# include"stdio.h"
void main()
{
int a[7][7]={0};
int i=1,j=3,k=1;
int x,y;
while (k<26)
{
a [j]=k;
i--;
j++;
k++;
if(0!=a[j])
{i+=2;j-=1;continue;}
if(i==0&&j==6)
{i=2;j=5;continue;}
if (i==0){i=5;}//5
if(j==6){j=1;}
}
for (x=1;x<6;x++)
{
for(y=1;y<6;y++)
  {printf("%d/t",a[x][y]);}
printf("/n");
}
}
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
这个是图.
下面的是阶梯法的结果.手算的
3       16      9      22       15
20       8       21     14      2  
7       25       13      1       19
24       12      5       18      6
11      4       17      0       23  .
这个是阶梯法的草稿
0       0       0       0       5       0       0       0       0零
0       0       0       4       0       10      0       0       0一
0       0       3       0       9       0       15      0       0二
0       2       0       8       0       14      0       20      0三
1       0       7       0       13      0       19      0       25四
0       6       0       12      0       18      0       24      0五
0       0       11      0       17      0       23      0       0六
0       0       0       16      0       22      0       0       0七
0       0       0       0       21      0       0       0       0八
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值