数学趣题——魔幻方阵

转载链接:http://www.cnblogs.com/steven_oyj/archive/2010/05/26/1744130.html

问题:

在n*n的矩阵中填写1~n*n这n*n个数字。使得它的每一行、每一列以及两个对角线之和均相等。求出一个这样的三阶魔幻方阵

最简单,效率最低的穷举法可以解。

源码:

 #include <stdio.h>
   2:  
   3: int match(int i,int j,int k,int l,int m,int n,int o,int p,int q)
   4: {
   5:     /*判断变量i-q是否互不相等,是则返回1,不是则返回0*/
   6:     if(i!=j&&i!=k&&i!=l&&i!=m&&i!=n&&i!=o&&i!=p&&i!=q
   7:          &&j!=k&&j!=l&&j!=m&&j!=n&&j!=o&&j!=p&&j!=q
   8:             &&k!=l&&k!=m&&k!=n&&k!=o&&k!=p&&i!=q
   9:                     &&l!=m&&l!=n&&l!=o&&l!=p&&l!=q
  10:                      &&m!=n&&m!=o&&m!=p&&m!=q
  11:                               &&n!=o&&n!=p&&n!=q
  12:                                      &&o!=p&&o!=q
  13:                                           &&p!=q)
  14:     return 1 ;
  15:     else return 0;
  16: }
  17:  
  18:  
  19: int justic(int i,int j,int k,int l,int m,int n,int o,int p,int q)
  20: {
  21:     /*判断变量i-q的这种排列是否满足魔幻方阵的要求,满足返回1,不满足返回0*/
  22:     if(i+j+k == l+m+n && i+j+k == o+p+q &&
  23:     i+l+o == j+m+p && i+l+o == k+n+q
  24:     && i+m+q == k+m+o)return 1;
  25:     else return 0;
  26: }
  27:  
  28: void getMatrix(){
  29:     int i,j,k,l,m,n,o,p,q;
  30:     for(i=1;i<=9;i++)
  31:         for(j=1;j<=9;j++)
  32:             for(k=1;k<=9;k++)
  33:                 for(l=1;l<=9;l++)
  34:                     for(m=1;m<=9;m++)
  35:                         for(n=1;n<=9;n++)
  36:                             for(o=1;o<=9;o++)
  37:                                 for(p=1;p<=9;p++)
  38:                                      for(q=1;q<=9;q++)
  39:                                      {
  40:                                         if(match(i,j,k,l,m,n,o,p,q))
  41:                                         if(justic(i,j,k,l,m,n,o,p,q))
  42:                                         {
  43:                                             printf("%d %d %d\n",i,j,k);  /*输出结果*/
  44:                                             printf("%d %d %d\n",l,m,n);
  45:                                             printf("%d %d %d\n",o,p,q);
  46:                                             printf("\n");
  47:                                             return;
  48:                                         }                                /*返回*/
  49:                                      }
  50:  
  51: }
  52:  
  53: int main()
  54: {
  55:     getMatrix() ; /*输出一个三阶魔幻方阵*/
  56:     return 0;
  57: }
  58:  

转载于:https://www.cnblogs.com/chenyuanqiu2008/p/5201147.html

数学趣题——魔幻方阵相关推荐

  1. 数学趣题——谁在说谎

    数学趣题--谁在说谎 转载链接:http://www.cnblogs.com/steven_oyj/archive/2010/05/26/1744227.html 问题:A说:B说谎.B说:C说谎.C ...

  2. 更多数学趣题:求对数

    ===>点我返回目录<=== 在数学中,对数是对求幂的逆运算,如果a的x次方等于N,那么数x叫做以a为底N的对数(logarithm),记作x=logaN. 这是我们现代人的理解方式,而从 ...

  3. 经典逻辑题-泊松数学趣题

    据说泊松在青年时代研究过一个有趣的数学游戏: 某人有12品脱啤酒一瓶(品脱是英容量单位,1品脱=0.568升),想从中倒出6品脱.但是他没有6品脱的容器,只有一个8品脱的容器和一个5品脱的容器.怎样的 ...

  4. 数学趣题——寻找水仙花数

    一个3位数若等于各位的立方和,即是水仙花数 源码如下: 1: #include <stdio.h> 2: 3: int IsNar(int a); 4: void Nar(); 5: 6: ...

  5. 数学趣题——求圆周率的近似值

    应用数值概念算法求圆周率 数值概念算法(随机数方法):利用概率论解决问题, 在求圆周率时的核心思想是: 在一个边长为r的正方形中,以中心点为圆心,r为直径作圆,则圆的面积是1/4πr平方,而正方形面积 ...

  6. 数学趣题——渔夫抓鱼问题

    A,B,C,D,E合伙抓鱼,全都睡着了.A第一个起来,将鱼分成5份,把多余的一条扔回河里,拿走自己一份走了.B第二个起来,又把鱼分成5份,把多余的一条扔回河里,拿走自己一份走了.接着,C,D,E都同样 ...

  7. 更多数学趣题:Hanoi塔

    ===>点我返回目录<=== 印度有个古老传说:在世界的中心贝拿勒斯的神庙里,一块黄铜板上插着三根宝石针.印度教的主神梵天在创造世界的时候,在其中一根针上穿好了由大到小的64片金片,这就是 ...

  8. 奔跑吧火柴人c语言开发_小学数学智力题:这两个火柴棍趣味题,你能做出来吗?...

    数学也可以很有趣,甚至还能检测和开发孩子的智力呢,今天小编跟大家分享两个数学智力题,大家一起加入我们,看看这两个经典的火柴趣味小学数学智力题吧! [题目1]错误的等式 上图这个由火柴拼出的等式是错误的 ...

  9. 《趣题学算法》—第1章1.2节简单的数学计算

    本节书摘来自异步社区<趣题学算法>一书中的第1章1.2节简单的数学计算,作者徐子珊,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 简单的数学计算 以上那 ...

最新文章

  1. Windows,Xampp,Zend Stadio搭建php运行环境
  2. Python学习day5作业
  3. jquery 绑定动态元素
  4. Science报道新研究:同行评审后的研究仅比预印本研究质量提高4%
  5. Microsoft Office (2007) Open XML 文件格式
  6. Linux上mysql安装详细教程
  7. 计算机通信数据中传输速率单位bps代表,数据通信中的信道传输速率单位是bps,它表示什么...
  8. ISME | 浙大黄健华/陈学新等揭示寄生蜂调控寄主营养代谢的新机制
  9. [Web前端] 子元素设置高度为100%, 却没有与父元素对齐高度.
  10. 量子计算机量子信息研讨会,2015全国量子信息与量子计算机前沿研讨会在我校召开...
  11. Android - Broadcasts overview(不完整)
  12. VisualGDB 5.6 R8 Crack-new-10-01
  13. 安卓系统管理软件_完美解锁版,软件爱好者的福利!
  14. 摘录 - 与人相处之道
  15. uniapp里获取验证码
  16. 用 layoutInflater打气筒创建一个view对象
  17. wsappx关不掉_wsappx是什么_如何关闭_windows10系统
  18. 网络填坑之路(4)TP-link路由器设置mac地址绑定联网
  19. 漫画讲解Advantage-Actor-Critic(A2C)
  20. 解释:《深度探索C++对象模型》对NRV优化的讨论

热门文章

  1. 【STM32】I2C详解
  2. git url地址无效_如何同步多个 git 远程仓库
  3. 图片和input不对齐_pdf到png再到mp4短视频:不需要工具,2个指令1键搞定
  4. php远程文件包含攻击,利用SMB共享来绕过php远程文件包含的限制
  5. python3 mysql报警日志_Python监听MySQL日志
  6. python迭代器和生成器_Python之迭代器和生成器
  7. 向 wmware workstation pro 的 MS-DOS 操作系统中导入文件(masm debug edit)(详细图解)
  8. TCP/IP学习笔记(九)TCP报文段首部格式
  9. r8169驱动下载linux,CentOS自带R8169驱动与R8168网卡之间的烦恼
  10. FileMonitorKit 文件操作监控工具