5阶幻方定义:
矩阵的每一行,每一列的和,都与对角线之和相等
5阶幻方规律如下:
第一步:将1放在第一行中间一列
第二步:从2开始到25各个数字都依次按如下规则存放:每一个数存放的行减1,列数加1
ps:上一个数列数为5时,下一个数列数为1,行数减1;
ps: 上一个数行数为1时,下一个数行数为5,列数加1;
ps:如果按上述步骤确定的位置已经被占,或者上一个数在a[1][5]时(特殊情况),把下一个数放到上一个数下面。
#include <iostream>
using namespace std;
int main()
{
int row = 1, col = 3,a[6][6] = {0};
for(int i = 1; i <= 25;++i)
{
a[row][col] = i;
if(row == 1&& col == 5) //改变下一个数字的位置
{
++row;
continue;
}
else
{
if(row == 1)
row = 5;
else