“魔方阵”再回首

之前看到过三阶的魔方阵,然后可以递推奇数阶。本小编做了讲解,如果有兴趣,可以翻阅以前的内容。
今天再来看看4阶8阶,递推偶数阶。魔方阵看起来难,无从下手其实经过认真分析,找到规律,也就轻松解决。

4阶:
简单说就是一个左上由1依序开始填,但遇上对角线不填。另一个是从左上由16开始填,是遇上对角线填。两者结合起来就是4阶魔方阵
分析如下:

4阶
//方法一:
void MagicSquare()
{#define ROW 4
#define COL 4int arr[ROW][COL];int tmp1 = ROW*COL;int tmp2 = 0;for(int i = 0;i < ROW;i++){for(int j = 0;j < COL;j++){if(i == j || (i+j == 3))//找规律{arr[i][j] = tmp1;}else {arr[i][j] = tmp2;}tmp1--;tmp2++;}}for(int i = 0;i < ROW;i++){for(int j = 0;j < COL;j++){printf("%-4d",arr[i][j]);}printf("\n");}
}

输出:

8阶:8阶就是4个4阶组成

*分析如下:

void MagicSquare()
{#define ROW 8#define COL 8int arr[ROW][COL];int tmp1 = ROW*COL;int tmp2 = 0;int i = 0;int j = 0;for(i = 0;i < ROW;i++){for(j = 0;j < COL;j++){if((i+j)%4 == 3 || i%4 == j%4)对角线{arr[i][j] = tmp1;}else{arr[i][j] = tmp2;//不是对角线}tmp1--;tmp2++;}}for(i= 0;i < ROW;i++){for(j = 0;j < COL;j++){printf("%-4d",arr[i][j]);}printf("\n");}
}
int main()
{MagicSquare();return 0;
}

输出:

此方法更规律,同样适用4阶,也是方法二

如有错误敬请各位读者批评,若感觉写的不错,就给小编点个赞吧,以示鼓励!!!

4阶,8阶“魔方阵”--解析相关推荐

  1. 奇数阶魔方阵算法分析

    奇数阶魔方阵就是指行列数都是吧n(n>=3 且 n%2 == 1)的魔方阵 奇数阶魔方阵的数字规律 通过对奇数阶魔方阵的分析,其中的数字排列有如下的规律: (1)自然数1出现在第一行的正中间: ...

  2. 3阶魔方阵c语言算法,3阶魔方阵的算法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "stdlib.h" #include "stdio.h" int main() { int a ...

  3. java解决魔方阵(奇数阶)问题(适合小白!保会)

    魔方阵冲呀 魔方阵的原理通俗点说就是 把1放到第一行中间位置 然后第二个数字向右上移动(行-1,列+1) 列超出行未超出,则放到(行-1,第一列) 行超出列未超出,则放到(最后一行,列加1) 行列均超 ...

  4. 三阶魔方c语言算法最高效率算法,3阶魔方阵的算法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "stdlib.h" #include "stdio.h" int main() { int a ...

  5. C语言:偶数阶魔方阵的实现(四的倍数)

    偶阶魔方阵的实现步骤: 1.用横线和竖线将n阶方阵划分为m个4*4的小方阵: 2.将n*n个数从小到大,从左到右,从上到下依次填入方阵中,遇到4*4小方阵的对角线不填(此位置不填的数不作为下一个位置填 ...

  6. 奇数阶魔方阵(洛书)

    奇数阶魔方阵(洛书) 题目: 将1~n的数子排列在n*n的方阵上,要求数子不能重复,方阵各行.各列.及两条对角线的数子之和相等.此位魔方阵,又称洛书(洛书是九行九列).若n为奇数,则为奇数阶魔方阵. ...

  7. 5阶魔方阵c语言程序设计,五阶魔方阵源代码c语言课到程设计.docx

    五阶魔方阵源代码c语言课到程设计 主函数 #include #include #include # include "wenjian.c" # include "sanj ...

  8. 5阶魔方阵c语言程序设计,五阶魔方阵源代码c语言时课程设计.docx

    五阶魔方阵源代码c语言时课程设计 主函数 #include #include #include # include "wenjian.c" # include "sanj ...

  9. 用c语言输出魔方阵答案,C语言——输出“魔方阵”(带解析)

    魔方阵:每一行  每一列  对角线之和均相等,要求输出n阶魔方阵 总结的五大规律: 1.把  1  放第一行中间 2.行-1   列+1 3. if(上个数1行n列)   放它下边 (i=i+2;  ...

  10. 判断魔方阵c语言程序设计_C语言实现魔方阵代码及解析

    原标题:C语言实现魔方阵代码及解析 问题描述 编写程序,实现如下表所示的5-魔方阵. 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 1 ...

最新文章

  1. edgesForExtendedLayout、automaticallyAdjustsScrollV
  2. C++ union 使用总结
  3. 机器视觉:Caffe Python接口多进程提取特征
  4. mysql循环建表_mysql创建存储过程,批量建表分表00到99
  5. Coursera自动驾驶课程第2讲:The Requirements for Autonomy
  6. float在python_如何在python中读取.float文件? - python
  7. linux下ffmpeg的使用方法
  8. Neginx服务搭建
  9. pageable设置size_总结SpringBoot使用Pageable实现分页源码
  10. python怎么使用预训练的模型_Tensorflow加载Vgg预训练模型操作
  11. WIN7 (64 位)安装AutoCAD2012失败解决方法
  12. 游戏阴阳师启动闪退问题解决
  13. 北鲲云联合珠海中科先进技术研究院推出代算服务
  14. 计算机电源维修如何知道好坏,怎么判断电脑电源坏了 主板不通电解决方法
  15. JVM基础及JVM调优及常见参数详解
  16. 1075 PAT Judge 测试点四
  17. Python基于深度学习yolov5的扑克牌识别
  18. 2020最新版C/C++学习路线图--游戏服务器开发重点
  19. 【Windows7下安装各种版本MySQL】
  20. 三层交换机到底怎么配置才算高级?老杨手把手示范给你看

热门文章

  1. 刚刚get一个新技能-动态图
  2. Java框架学习顺序,主要讲解三大框架
  3. python技巧分享(八)
  4. 微软Office办公软件哪个版本更好用?office365,office2022,2023等
  5. 父亲节:再见,总有一天
  6. HTML5期末大作业:城市旅游网站设计——城市旅游-北京(5页) HTML+CSS+JavaScript 主题度假酒店 计划出行北京
  7. AcWing 320. 能量项链(环形区间DP)
  8. 扩展桌面:扩展屏幕没有连接,但程序还在扩展屏幕上,在看不到这个屏幕的情况下,怎么把程序窗口拉回来
  9. 反双曲函数及其对应的双曲函数的泰勒展开式及原公式
  10. MongoDB入门操作汇总