不能被4整除的偶数,比如2,6,10,14等,n%4=2的偶数,称为singly even.

因为不存在2阶魔方阵,所以我们从6开始。

以6阶魔方阵为例,

首先将魔方阵分割为

A  C

D  B

四块,其中A为1~9,B为10~18,C为19~27,D为28~36.

其次,将A按照3阶魔方阵处理,BCD中数字同A一个顺序,只是数字比较大了一个(n/2)^2.

然后,需要调换A和D中左侧的部分元素,和C与B中最右侧的元素,

具体参考:http://www.1728.org/magicsq3.htm

程序代码如下:

/*************************************************************************> File Name: 6_t76.c> Author: Crow> Mail: qnglsk@163.com> Created Time: Sun 23 Dec 2018 03:56:13 PM CST************************************************************************///Magic Square of Singly even numbers
//
//
#include <stdio.h>int se[998][998];int od[999][999];int i,j,n;
int main()
{int nc,nd; //for lazyint oddMS(int x);int Lcontainer[499][499];int Rcontainer[499][248];//only for singly even numberprintf("please input a singly even numebr like 6,10,14,18,etc:\n");scanf("%d",&n);nd=n/2;nc=nd*nd;oddMS(nd);for(i=0;i<nd;i++)for(j=0;j<nd;j++){se[i][j]=od[i][j];                                       //Ase[i+nd][j+nd]=od[i][j]+nc;                      //Bse[i][j+nd]=od[i][j]+2*nc;                       //Cse[i+nd][j]=od[i][j]+3*nc;                       //D}//shift left partfor(i=0;i<nd;i++)for(j=0;j<n/4;j++)if(i!=nd/2){Lcontainer[i][j]=se[i][j];        // A to containerse[i][j]=se[i+nd][j];                           //C to Ase[i+nd][j]=Lcontainer[i][j];           //container to C}else if(i==nd/2){Lcontainer[i][j]=se[i][j+1];se[i][j+1]=se[i+nd][j+1];se[i+nd][j+1]=Lcontainer[i][j];}//shift right sidefor(i=0;i<nd;i++)for(j=n-(n/4-1);j<n;j++){Rcontainer[i][j-(n/4-1)]=se[i][j];se[i][j]=se[i+nd][j];se[i+nd][j]=Rcontainer[i][j-(n/4-1)];}//outputprintf("\nHere is the Magic Square of Singly even number:\n");for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%d\t",se[i][j]);printf("\n");}printf("\n");return 0;}int oddMS(int x)
{//the function to solve Magic Square for odd number.int orow,ocol;orow=0;ocol=(x-1)/2;for(i=1;i<=x*x;i++){od[orow][ocol]=i;if(i%x!=0){orow=(orow+(x-1))%x;ocol=(ocol+1)%x;}else if(i%x==0)orow+=1;}return 0;
}

C语言——不能被4整除的偶数——魔方阵相关推荐

  1. 2455. 可被三整除的偶数的平均值

    2455. 可被三整除的偶数的平均值 给你一个由正整数组成的整数数组 nums ,返回其中可被 3 整除的所有偶数的平均值. 注意:n 个元素的平均值等于 n 个元素 求和 再除以 n ,结果 向下取 ...

  2. 任意阶魔方阵matlab程序,【精品】任意阶魔方阵算法(c语言)

    n阶幻方是由前n^2(n的2次方)个自然数组成的一个n阶方阵,其各行.各列及两条对角线所含的n个数的和相等.洛书就是最基本的3×3阶魔方阵,做出某种最恰当的决定,横竖都有3个格. 0的倒数 a-1可以 ...

  3. 判断魔方阵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 ...

  4. 判断魔方阵c语言程序设计_魔方阵算法及C语言实现

    1 魔方阵概念 2填充的,每一行.每一列.对角线之和均相等的方阵,阶数n = 3,4,5-.魔方阵也称为幻方阵. 例如三阶魔方阵为: 魔方阵有什么的规律呢? 魔方阵分为奇幻方和偶幻方.而偶幻方又分为是 ...

  5. 打印魔方阵(C语言)

    魔方阵是这样的方阵:它的每一行,每一列和对角线之和均相等. 输入n,要求打印由自然数构成的魔方阵(n为奇数) 魔方阵中各数排列规律如下: (1)将"1"放在第一行的中间一列: (2 ...

  6. C语言程序设计谭浩强(第四版)部分课后习题作答——第六章-输出杨辉三角,输出魔方阵

    代码: 杨辉三角题目较为简单,魔方阵题目实现了输出任意整数即可输出对应的魔方阵 #include<stdio.h> #include<stdlib.h> #include< ...

  7. 奇数魔方阵c语言程序设计,《C语言程序》课程设计报告书魔方阵程序设计

    <<C语言程序>课程设计报告书魔方阵程序设计>由会员分享,可在线阅读,更多相关<<C语言程序>课程设计报告书魔方阵程序设计(17页珍藏版)>请在人人文库 ...

  8. C语言基础算法:魔方阵

    C语言基础算法:魔方阵. 核心玩法:第一个元素放置第一排(第0行)中间位置,依次往右上方填充数据, 若是 1.右上角行,列越界,该元素放置上一元素下方a(i+2)(j-1)位置 2.右上角行越界,而列 ...

  9. 打印魔方阵(C语言) 所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。

    打印魔方阵(C语言) 打印魔方阵,所谓魔方阵是指这样的方阵,它的每一行.每一列和对角线之和均相等.例如,三阶魔方阵为: 8 1 6 3 5 7 4 9 2 要求打印出由1到n2的自然数构成的魔方阵(n ...

最新文章

  1. 位运算和典型应用详解
  2. 使用python操作postgresql 查询
  3. linux 压缩文件小,技术|在 Linux 上压缩文件的 5 种方法
  4. XML布局中出现Exception raised during rendering异常
  5. REST HTTP中的POST PUT GET
  6. jaxb xml配置_JAXB和Log4j XML配置文件
  7. ant更改主题色报错Inline JavaScript is not enabled. Is it set in your options? vue ant主题色更改 vue-cli3
  8. [Diary]6.10
  9. 2017 成为更好的自己需要做的事情
  10. 的标题形状工具在哪里_一分钟教你做一款让人眼前一亮的标题!你想学吗?「Word技巧」...
  11. springboot 讯飞语音_讯飞智能语音鼠标实际体验感受
  12. 如何通过配置tomcat或是web.xml让ie直接下载txt类型的文件
  13. 课堂小结:返回一个整数数组所有子数和的最大值
  14. 系统明文密码加密传输
  15. 安川ga700变频器故障码集_安川变频器故障代码
  16. java创建窗口_java如何创建一个窗口出来
  17. 解决Untracked Files Prevent Checkout问题
  18. Latex——属于符号
  19. 微信小程序记录用户行为浏览记录和停留时间以及小程序全局分享
  20. 淘宝展示广告中的优化点击成本算法

热门文章

  1. 华盛顿邮报:中国3G之争令西方手机商急上心头
  2. @RequestMapping中produces
  3. 怎么修改服务器ip密码,服务器ip 地址修改密码
  4. 服务器攒机指南-屌丝如何搭建测试平台
  5. cartographer 代码分析
  6. KNN实战 —— 约会网站配对效果判定
  7. 免费CDN:jsDelivr+Github 使用方法
  8. 让系统脱胎换骨 WinXP优化精湛10招
  9. 解决Internet HTML邮件中图片显示为红叉(X)的问题
  10. CentOS 配置 ens33