该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#define N 100

void oujie(int oushu)

{

int a[N][N]={0},i,j,k=1,n,m;

n=oushu/2;

m=(oushu-2)/4;

for(i=1,j=3*n/2;k<=n*n;)

{

if(i<0)

{ i=i+3*n; continue; }

if(j>=3*n)

{ j=j-3*n; continue; }

if(j<0)

{ j=j+3*n; continue; }

if(a[i][j]!=0)

{

i=i+2*3;

j=j-1*3;

if(i>3*n)

{ i=i-3*n; continue; }

if(j<0)

{ j=j+3*n; continue; }

}

a[i][j]=k++;

i=i-3;

j=j+3;

}

for(i=1;i<3*n;i=i+3)

for(j=1;j<3*n;j=j+3)

{

if(i

a[i-1][j]=1;

else if(i==(3*(m+1)+1)&&j!=(3*(m+1)-2)||i==(3*(m+1)-2)&&j==(3*(m+1)-2))

a[i-1][j]=2;

else a[i-1][j]=3;

}

for(i=1;i<3*n;i=i+3)

for(j=1;j<3*n;j=j+3)

{

if(a[i-1][j]==1)

{

a[i-1][j-1]=4*a[i][j];

a[i-1][j+1]=4*a[i][j]-3;

a[i+1][j-1]=4*a[i][j]-2;

a[i+1][j+1]=4*a[i][j]-1;

}

if(a[i-1][j]==2)

{

a[i-1][j-1]=4*a[i][j]-3;

a[i-1][j+1]=4*a[i][j];

a[i+1][j-1]=4*a[i][j]-2;

a[i+1][j+1]=4*a[i][j]-1;

}

if(a[i-1][j]==3)

{

a[i-1][j-1]=4*a[i][j]-3;

a[i-1][j+1]=4*a[i][j];

a[i+1][j-1]=4*a[i][j]-1;

a[i+1][j+1]=4*a[i][j]-2;

}

}

for(i=0;i<3*n;i=i+1)

{

{

for(j=0;j<3*n;j=j+1)

{

printf("%4d",a[i][j]);

j=j+2;

printf("%4d",a[i][j]);

}

printf("\n");

}

i=i+2;

{

for(j=0;j<3*n;j=j+1)

{

printf("%4d",a[i][j]);

j=j+2;

printf("%4d",a[i][j]);

}

printf("\n");

}

}

}

void jijie(int n)

{

int a[N][N]={0},i,j,k=1;

for(i=0,j=n/2;k<=n*n;)

{

if(i<0)

{ i=i+n; continue; }

if(j>=n)

{ j=j-n; continue; }

if(j<0)

{ j=j+n; continue; }

if(a[i][j]!=0)

{

i=i+2;

j=j-1;

if(i>n)

{ i=i-n; continue; }

if(j<0)

{ j=j+n; continue; }

}

a[i][j]=k++;

i--;

j++;

}

for(i=0;i

{

for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

}

main()

{

int n;

printf("偶数阶数为4n+2,且阶数为3到66之间\n");

printf("请输入幻方的阶数:");

scanf("%d",&n);

if(n%2==0&&n>=4&&n<66&&(n-2)%4==0)

oujie(n);

else if(n%2==1&&n<66)

jijie(n);

else

printf("错误的阶数!\n");

n阶幻方c语言编程,求单偶阶与双偶阶幻方编程思想及其算法!相关推荐

  1. 计算机编程求最大公约数与最小公倍数,这是一个常见的简单算法

    计算最大公约数和最小公倍数是简单常见的算法,他有多种方式实现,比如:穷举法.辗转相除法.相减法等等,方法很多,目的相同,下面就用其中一种方法,辗转相除法来完成这个算法,下面将用计算机编程的方式实现. ...

  2. n阶换方c语言程序,求单偶阶与双偶阶幻方编程思想及其算法!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define N 100 void oujie(int oushu) { int a[N][N]={0},i,j,k=1,n,m; n ...

  3. JAVA编程求单源最短路径_【算法】单源最短路径——dijkstra算法

    一,概念 单源最短路径 给定一个带权有向图G=(V,E),其中每条边的权是一个实数.另外,还给定V中的一个顶点,称为源.要计算从源到其他所有各顶点的最短路径长度.这里的长度就是指路上各边权之和.这个问 ...

  4. 魔方阵(奇数,单偶,双偶)

    目录 一.奇数 二.双偶 三.双偶 魔方阵,是指组成元素为自然数1.2.-.n2的平方的n×n的方阵,其中每个元素值都不相等,且每行.每列以及主.副对角线上各n个元素之和都相等. 魔方阵的规律 一.奇 ...

  5. 双偶幻方的c语言算法,单偶阶、双偶阶幻方的巧妙填法

    单偶阶.双偶阶幻方的巧妙填法 单偶阶.双偶阶幻方的巧妙填法 人气:150 ℃时间:2019-12-07 19:18:09 优质解答 一.双偶幻方的解法 能被4整除的n阶幻方叫双偶幻方,如8阶.12阶. ...

  6. c语言编程所得票数,C语言编程求1X2X3····Xn所得的数末尾有多少个零

    C语言编程求1X2X3····Xn所得的数末尾有多少个零 发布时间:2020-08-10 02:23:57 来源:51CTO 阅读:312 作者:sonissa 参见大数的阶乘 https://blo ...

  7. python输入一个英文句子、统计单词个数_C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。c++编程 从键盘输入一个英文...

    C语言编程求一个英文句子中的单词数和最长单词的位置.长度及输出这个单词. c++编程 从键盘输入一个英文 www.zhiqu.org     时间: 2020-11-23 我刚做了一关于英文句子里面每 ...

  8. c语言链表交换,求单链表的数据交换解决思路

    当前位置:我的异常网» C语言 » 求单链表的数据交换解决思路 求单链表的数据交换解决思路 www.myexceptions.net  网友分享于:2013-11-04  浏览:14次 求单链表的数据 ...

  9. PTA 基础编程题目集 6-6 求单链表结点的阶乘和

    PTA 基础编程题目集 6-6 求单链表结点的阶乘和 本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 函数接口定义: int Factorial ...

最新文章

  1. 关于Entity Framework自动关联查询与自动关联更新导航属性对应的实体注意事项说明...
  2. 【Android 性能优化】应用启动优化 ( 启动优化项目 | 界面启动时间 | 启动优化项目 | 方法追踪 MethodTracing )
  3. jsfl 改变舞台宽高
  4. [scala-spark]11. RDD控制操作
  5. Python实例--文本词频统计
  6. 在Centos 7中开放80端口
  7. mysql基础查询语法
  8. pandas 转换为文本类型_分享5个高效的pandas函数!
  9. mysql -f --force_mysqldump备份MYSQL数据库的参数详细说明
  10. html5 dom api,HTML5 DOM File API
  11. 例2.5 统计同成绩学生人数 - 九度教程第10题(Hash的应用)
  12. 【16年浙江省赛H ZOJ 3965】Binary Tree Restoring 【两个dfs序还原】
  13. 大麦无线虚拟服务器,大麦路由器192.168.10.1设置教程
  14. 关于 C++ 打印 PDF 打印及 PDF 转图片、合并
  15. Linux上配置SVN使用http访问
  16. JAVA:获取用户访问ip地址
  17. 解决html中手机键盘遮挡input输入框
  18. 华为HG522-C相框猫配置文件的加解密
  19. CISP注册信息安全人员证书维持注意事项
  20. HTML5期末大作业 基于HTML+CSS+JavaScript学校官网首页(实训素材)

热门文章

  1. 垃圾收集 java_关于Java垃圾收集
  2. 状态模式 设计模式_设计模式:状态
  3. ldap java_使用LDAP保护Java EE6中的Web应用程序
  4. 配置HTTPS以与Servlet一起使用
  5. 为什么要关心均值和哈希码
  6. 哈希扩展长度攻击_哈希长度扩展攻击
  7. resteasy_RESTEasy教程第2部分:Spring集成
  8. 使用Spring MVC进行资源版本控制
  9. 开发SPI时不要犯这个错误
  10. 线程魔术技巧:Java线程可以做的5件事