C语言:偶数阶魔方阵的实现(四的倍数)
偶阶魔方阵的实现步骤:
1.用横线和竖线将n阶方阵划分为m个4*4的小方阵;
2.将n*n个数从小到大,从左到右,从上到下依次填入方阵中,遇到4*4小方阵的对角线不填(此位置不填的数不作为下一个位置填入的数)
3.将n*n个数从大到小,从左到右,从上到下依次填入方阵中4*4小方阵的对角线上,其他位置不填(此位置不填的数不作为下一个位置填入的数)
4.偶阶魔方阵完成。
下面进行图解(以8阶为例):
代码实现的时候会遇到如何判断对角线的问题,我们来找一找对角线的规律:
//偶数阶魔方阵
//重点:对角线的计算
//左上到右下对角线满足i%4 == j%4
//右上到左下对角线满足(i+j)%4 == 3void MagicSquare()
{
#define ROW 4
#define COL ROWint arr[ROW][COL];int tmp1 = 1;int tmp2 = ROW*COL;for(int i = 0;i < ROW;i++){for(int j = 0;j < COL;j++){if(i % 4 == j % 4 || (i + j) % 4 == 3){arr[i][j] = tmp2;}else{arr[i][j] = tmp1;}tmp2--;tmp1++;}}for(int i = 0;i < ROW;i++){for(int j = 0;j < COL;j++){printf("%-4d",arr[i][j]);}printf("\n");}
}int main()
{MagicSquare();return 0;
}
C语言:偶数阶魔方阵的实现(四的倍数)相关推荐
- 3阶魔方阵c语言算法,3阶魔方阵的算法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "stdlib.h" #include "stdio.h" int main() { int a ...
- 三阶魔方c语言算法最高效率算法,3阶魔方阵的算法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "stdlib.h" #include "stdio.h" int main() { int a ...
- 奇数阶魔方阵算法分析
奇数阶魔方阵就是指行列数都是吧n(n>=3 且 n%2 == 1)的魔方阵 奇数阶魔方阵的数字规律 通过对奇数阶魔方阵的分析,其中的数字排列有如下的规律: (1)自然数1出现在第一行的正中间: ...
- 奇数阶魔方阵(洛书)
奇数阶魔方阵(洛书) 题目: 将1~n的数子排列在n*n的方阵上,要求数子不能重复,方阵各行.各列.及两条对角线的数子之和相等.此位魔方阵,又称洛书(洛书是九行九列).若n为奇数,则为奇数阶魔方阵. ...
- 任意阶魔方阵matlab程序,【精品】任意阶魔方阵算法(c语言)
n阶幻方是由前n^2(n的2次方)个自然数组成的一个n阶方阵,其各行.各列及两条对角线所含的n个数的和相等.洛书就是最基本的3×3阶魔方阵,做出某种最恰当的决定,横竖都有3个格. 0的倒数 a-1可以 ...
- 5阶魔方阵c语言程序设计,五阶魔方阵源代码c语言课到程设计.docx
五阶魔方阵源代码c语言课到程设计 主函数 #include #include #include # include "wenjian.c" # include "sanj ...
- 5阶魔方阵c语言程序设计,五阶魔方阵源代码c语言时课程设计.docx
五阶魔方阵源代码c语言时课程设计 主函数 #include #include #include # include "wenjian.c" # include "sanj ...
- 判断魔方阵c语言程序设计_魔方阵算法及C语言实现
1 魔方阵概念 2填充的,每一行.每一列.对角线之和均相等的方阵,阶数n = 3,4,5-.魔方阵也称为幻方阵. 例如三阶魔方阵为: 魔方阵有什么的规律呢? 魔方阵分为奇幻方和偶幻方.而偶幻方又分为是 ...
- c语言魔方还原程序案例,利用C语言玩转魔方阵实例教程
魔方阵 魔方阵,古代又称"纵横图",是指组成元素为自然数1.2-n的平方的n×n的方阵,其中每个元素值都不相等,且每行.每列以及主.副对角线上各n个元素之和都相等. 如3×3的魔方 ...
最新文章
- c语言随机浮点数,C随机浮点数生成
- OncePerRequestFilter-源码解析
- NOIP 2007 普及组初赛试题(C++)(含答案)
- Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】
- plsql提示列快捷键_20种VSCode快捷键清单,助你更快编码
- Windows Mobile中的WebService应用
- 手摸手Go 深入剖析sync.Pool
- php 递归穿件文件夹,PHP递归复制整个文件夹
- Hybrid和Tagged Untagged理解
- SM2算法和RSA算法简介
- 如何在HTML中添加背景音乐?
- 预防服务器被攻击的处理方式
- 产品经理与项目经理-从PMP到NPDP
- javax.el.PropertyNotFoundException:类型[com.ex.spring.entity.Dept]上找不到属性[dNo]
- 2021年三季度中国家居用品行业A股上市企业营收排行榜:欧派家居、顾家家居排名前2位,且近五年第三季度的净利润均逐年递增(附热榜TOP61详单)
- C语言字符串转换为整数
- Bilibili漫画抓取思路
- 颐和园文昌阁的命名由来
- 微信支付-电商收付通开发-04.支付
- 关于网易云验证码V1.0版本的服务介绍