65-三阶魔幻方阵
来源:互联网 发布:怎么使用淘宝联盟返利 编辑:程序博客网 时间:2024/04/28 07:50
#include<stdio.h>/*有一种方阵被称为“魔幻方阵”。所谓魔幻方阵是指在n*n的矩阵中填写1~n2这n2个数字,使得它的每一行、每一列以及两个对角线之和均相等。例如三阶魔幻方阵如下:它的每一行、每一列以及两个对角线之和均为15。编写一个程序,打印出一种三阶的魔幻方阵。*///判断这里的数字是否满足互不相同int NotSame(int i,int j,int k,int l,int m,int n,int o,int p,int q){if(i!=j&&i!=k&&i!=l&&i!=m&&i!=n&&i!=o&&i!=p&&i!=q&&j!=k&&j!=l&&j!=m&&j!=n&&j!=o&&j!=p&&j!=q&&k!=l&&k!=m&&k!=n&&k!=o&&k!=p&&k!=q&&l!=m&&l!=n&&l!=o&&l!=p&&l!=q&&m!=n&&m!=o&&m!=p&&m!=q&&n!=o&&n!=p&&n!=q&&o!=p&&o!=q&&p!=q){return 1;}else{return 0;}}//判断这里面的数字是否满足条件 int success(int i,int j,int k,int l,int m,int n,int o,int p,int q){if(i+j+k==l+m+n&&i+j+k==o+p+q&&i+l+o==j+m+p&&i+l+o==k+n+q&&i+m+q==k+m+o){return 1;}else{return 0;}}//获取三阶魔幻方阵void getfangzhen(){int i,j,k,l,m,n,o,p,q;for(i=1;i<=9;i++){for(j=1;j<=9;j++){for(k=1;k<=9;k++){for(l=1;l<=9;l++){for(m=1;m<=9;m++){for(n=1;n<=9;n++){for(o=1;o<=9;o++){for(p=1;p<=9;p++){for(q=1;q<=9;q++){//如果各个数字都不相同 if(NotSame(i,j,k,l,m,n,o,p,q)){//如果满足条件 if(success(i,j,k,l,m,n,o,p,q)){printf("%4d%4d%4d\n",i,j,k);printf("%4d%4d%4d\n",l,m,n); printf("%4d%4d%4d\n\n\n",o,p,q); } }}}}}}}}}}} /*好吧,我就输出一个三阶魔幻方阵吧*/ int main(void){getfangzhen();return 0;}
0 0
- 65-三阶魔幻方阵
- Groovy Tip 23 魔幻数组 三
- N阶幻方阵
- 方阵
- 【Java实现】输出n阶螺旋方阵/旋转方阵
- 输出n*n阶方阵
- n阶方阵对角线之和
- 魔幻数字
- 魔幻计时器
- 魔幻数字
- 求5X5阶螺旋方阵
- N阶的螺旋方阵。。。。编程
- 构造N*N阶的方阵
- 求n阶方阵对角线之和
- php5魔幻变量和魔幻方法
- php5魔幻变量和魔幻方法
- C语言 - 螺旋方阵:运动算法求任意n阶螺旋方阵
- Rafal Olbinski魔幻作品
- 【翻译】使用Sencha Touch开发Google Glass应用程序
- 数学之路-群体行为与群体智能(7)
- 面向对象和面向过程的区别
- Fortran 资源
- asp.net中的DataBind()数据绑定事件
- 65-三阶魔幻方阵
- [大学回忆录-思想]为博乎?为专乎?
- IOS6 到 IOS7 代码更新
- vim ctags 设置
- 领域驱动设计案例【Tiny Library简介】
- 不同J2EE容器JNDI访问参数设置
- python 判断是否为函数
- [大学回忆录-思想]一种能力的培养
- cocos2d-x中添加Enter键和方向键按键响应 (转)