算术游戏C语言,10个有趣的算术游戏,让你立刻爱上数学!
原标题:10个有趣的算术游戏,让你立刻爱上数学!
数学到底哪里有趣了?数学之美究竟在哪里?
今天让我们一起读一读matrix67大神的这篇文章,里面包含作者精心选择的10个老少咸宜的算术问题,以定理、趣题甚至未解之谜等各种形式带领大家窥探数学世界的一角。不少问题背后都蕴含了深刻的数学知识,触及到数学的各个领域。 希望大家能够喜欢上数学这门充满乐趣的学科。
1
数字黑洞6174
任意选一个四位数(数字不能全相同),把所有数字从大到小排列,再把所有数字从小到大排列,用前者减去后者得到一个新的数。重复对新得到的数进行上述操作,7 步以内必然会得到 6174。
例如,选择四位数 6767:
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
……
6174 这个“黑洞”就叫做卡普雷卡尔(Kaprekar)常数。对于三位数,也有一个数字黑洞——495。
2
3x + 1 问题
从任意一个正整数开始,重复对其进行下面的操作:如果这个数是偶数,把它除以 2 ;如果这个数是奇数,则把它扩大到原来的 3 倍后再加 1 。你会发现,序列最终总会变成 4, 2, 1, 4, 2, 1, … 的循环。
例如,所选的数是 67,根据上面的规则可以依次得到:
67, 202, 101, 304, 152, 76, 38, 19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1, ...
数学家们试了很多数,没有一个能逃脱“421 陷阱”。但是,是否对于 所有 的数,序列最终总会变成 4, 2, 1 循环呢?
这个问题可以说是一个“坑”——乍看之下,问题非常简单,突破口很多,于是数学家们纷纷往里面跳;殊不知进去容易出去难,不少数学家到死都没把这个问题搞出来。
已经中招的数学家不计其数,这可以从 3x + 1 问题的各种别名看出来: 3x + 1 问题又叫 Collatz 猜想、 Syracuse 问题、 Kakutani 问题、 Hasse 算法、 Ulam 问题等等。
后来,由于命名争议太大,干脆让谁都不沾光,直接叫做 3x + 1 问题算了。
直到现在,数学家们仍然没有证明,这个规律对于所有的数都成立。
3
特殊两位数乘法的速算
如果两个两位数的十位相同,个位数相加为 10,那么你可以立即说出这两个数的乘积。如果这两个数分别写作 AB 和 AC,那么它们的乘积的前两位就是 A 和 A + 1 的乘积,后两位就是 B 和 C 的乘积。
比如,47 和 43 的十位数相同,个位数之和为 10,因而它们乘积的前两位就是 4×(4 + 1)=20,后两位就是 7×3=21。也就是说,47×43=2021。
类似地,61×69=4209,86×84=7224,35×35=1225,等等。
这个速算方法背后的原因是,(10 x + y) (10 x + (10 - y)) = 100 x (x + 1) + y (10 - y) 对任意 x 和 y 都成立。
4
幻方中的幻“方”
一个“三阶幻方”是指把数字 1 到 9 填入 3×3 的方格,使得每一行、每一列和两条对角线的三个数之和正好都相同。
下图就是一个三阶幻方,每条直线上的三个数之和都等于 15。
大家或许都听说过幻方这玩意儿,但不知道幻方中的一些美妙的性质。例如,任意一个三阶幻方都满足,各行所组成的三位数的平方和,等于各行逆序所组成的三位数的平方和。对于上图中的三阶幻方,就有
816² + 357² + 492² = 618² + 753² + 294²
利用线性代数,我们可以证明这个结论。
5
天然形成的幻方
从 1/19 到 18/19 这 18 个分数的小数循环节长度都是 18。把这 18 个循环节排成一个 18×18 的数字阵,恰好构成一个幻方——每一行、每一列和两条对角线上的数字之和都是 81
(注:严格意义上说它不算幻方,因为方阵中有相同数字)。
6
196 算法
一个数正读反读都一样,我们就把它叫做“回文数”。随便选一个数,不断加上把它反过来写之后得到的数,直到得出一个回文数为止。例如,所选的数是 67,两步就可以得到一个回文数 484:
67 + 76 = 143
143 + 341 = 484
把 69 变成一个回文数则需要四步:
69 + 96 = 165
165 + 561 = 726
726 + 627 = 1353
1353 + 3531 = 4884
89 的“回文数之路”则特别长,要到第 24 步才会得到第一个回文数,8813200023188。
大家或许会想,不断地“一正一反相加”,最后总能得到一个回文数,这当然不足为奇了。事实情况也确实是这样——对于 几乎 所有的数,按照规则不断加下去,迟早会出现回文数。
不过,196 却是一个相当引人注目的例外。数学家们已经用计算机算到了 3 亿多位数,都没有产生过一次回文数。从 196 出发,究竟能否加出回文数来?196 究竟特殊在哪儿?这至今仍是个谜。
7
Farey 序列
选取一个正整数 n。把所有分母不超过 n 的 最简 分数找出来,从小到大排序。这个分数序列就叫做 Farey 序列。例如,下面展示的就是 n = 7 时的 Farey 序列。
定理:在 Farey 序列中,对于任意两个相邻分数,先算出前者的分母乘以后者的分子,再算出前者的分子乘以后者的分母,则这两个乘积一定正好相差1!
这个定理有从数论到图论的各种证明。甚至有一种证明方法巧妙地借助 Pick 定理,把它转换为了一个不证自明的几何问题!
8
唯一的解
经典数字谜题:用 1 到 9 组成一个九位数,使得这个数的第一位能被 1 整除,前两位组成的两位数能被 2 整除,前三位组成的三位数能被 3 整除,以此类推,一直到整个九位数能被 9 整除。
没错,真的有这样猛的数:381654729。其中 3 能被 1 整除,38 能被 2 整除,381 能被 3 整除,一直到整个数能被 9 整除。这个数既可以用整除的性质一步步推出来,也能利用计算机编程找到。
另一个有趣的事实是,在所有由 1 到 9 所组成的 362880 个不同的九位数中,381654729 是唯一一个满足要求的数!
9
数在变,数字不变
123456789的两倍是 246913578,正好又是一个由 1 到 9 组成的数字。
246913578的两倍是493827156,正好又是一个由 1 到 9 组成的数字。
把 493827156再翻一倍,987654312,依旧恰好由数字 1 到 9 组成的。
把 987654312 再翻一倍的话,将会得到一个 10 位数 1975308624,它里面仍然没有重复数字,恰好由 0 到 9 这 10 个数字组成。
再把 1975308624 翻一倍,这个数将变成 3950617248,依旧是由 0 到 9 组成的。
不过,这个规律却并不会一直持续下去。继续把 3950617248 翻一倍将会得到 7901234496,第一次出现了例外。
10
三个神奇的分数
1/49化成小数后等于0.0204081632 …,把小数点后的数字两位两位断开,前五个数依次是 2、4、8、16、32,每个数正好都是前一个数的两倍。
100/9899等于
0.01010203050813213455 … ,两位两位断开后,每一个数正好都是前两个数之和(也即 Fibonacci 数列)。
而 100/9801 则等于
0.0102030405060708091011121314151617181920212223 …
利用组合数学中的“生成函数”可以完美地解释这些现象的产生原因。
声明:本公众号尊重原创,素材来源于网络,好的内容值得分享,如有侵权请联系删除。
▼
责任编辑:
算术游戏C语言,10个有趣的算术游戏,让你立刻爱上数学!相关推荐
- c语言程序设计黑白棋游戏,C语言课程设计_黑白棋游戏
C语言课程设计_黑白棋游戏 C语言课程设计_黑白棋游戏 #include "graphics.h" /*图形系统头文件*/ #define LEFT 0x4b00 /*光标左键值* ...
- c语言课题设计题目猜数字游戏,C语言课题设计报告(猜数字游戏)文档.doc
C语言课题设计报告(猜数字游戏)文档 课 程 设 计 报 告 课程名称 C 语言课程设计 课题名称 猜数字游戏 专 业 电气工程及其自动化 班 级 1183 学 号 13 姓 名 鲁响 指导教师 王颖 ...
- 让你立刻爱上数学的8个算术游戏
文科背景的朋友们经常会问我一个问题:数学到底哪里有趣了,数学之美又在哪里?此时,我通常会讲一些简单而又深刻的算术游戏,让每个只会算术的人都能或多或少地体会到一些数学的美妙.如果你从小就被数学考试折磨, ...
- c语言程序设计中三子棋游戏,C语言实现简易版三子棋游戏
本文实例为大家共享了C语言实现三子棋游戏的详细代码,供大家参考,详细内容如下 什么是多文件? 多数大型的工程的头文件和源文件非常多,我们也不可能把所有的代码都写在同一个文件里,这样也不方便代码的阅读与 ...
- 出圈游戏c语言用指针求,出圈游戏程序设计.doc
出圈游戏程序设计.doc 存档资料 成绩 华东交通大学课 程 设 计 报 告 书所属课程名称C程序设计题 目出圈游戏的程序设计院 (系)信息工程学院班 级通信一班学号20140610080126学生姓 ...
- python编写格斗游戏_C语言实现的开源 2D 格斗游戏: Punch Kick
<Punch & Kick>是作者在大学期间用C语言开发的2D格斗游戏,其开源主要是面向开发者及编程爱好者,这款游戏并不适合发烧级玩家.审美帝. 下面是作者自己对这个游戏的介绍: ...
- 酷跑游戏C语言,毕业设计(论文)-跑酷游戏设计(源程序).doc
重庆理工大学毕业设计论文跑酷游戏 毕业设计(论文) 题目 跑酷游戏 二级学院 计算机科学与工程 专 业 软件工程 班 级 学生姓名 学号 指导教师 职称 时 间 2014.5.20 目 录 TOC \ ...
- 井字棋游戏 c语言实现,井字棋小游戏(C语言)
1 #include 2 #include 3 #include 4 #include 5 #include 6 7 void drawBoard(char *board) //绘制棋盘 8 {9 p ...
- 杀人游戏 c语言,趣味游戏(1)——杀人游戏
杀人游戏 现在已知有一队人 ,他们围成一圈并将他们进行从小到大编号.然后设置一个死亡号码,凡是报道3的人都死亡 后面的人继续数数, 输出最后一个活着的人的编号. 解题思路: 其实这是一道比较典型的约瑟 ...
最新文章
- qt creator报错处理积累
- uniapph5授权成功后返回上一页_被成功验证过的的7条选品思路(收藏)
- jQuery easyUI--选项卡右键菜单
- mysql主机咋填_mysql数据库主机填什么
- SpringMvc接口中转设计(策略+模板方法)
- Internet Explorer 6 中的 CSS 增强功能
- js 刷新页面window.location.reload();
- mysql 用户权限设置【转】
- 保存一个 Python 对象,之后使用时直接读取
- 位结构体+大小端模式
- C++的RTTI基本原理
- ROS Kinetic 安装指南
- C/C++语言函数之strlen函数用法
- 关于通过请求获取的验证码不正确的解决的破解方法
- linux下删原来的盘符命令,linux中创建磁盘分区 删除分区
- linux adb 驱动 home,Ubuntu下adb驱动问题
- Educoder-练习-Java循环综合练习四之日历打印
- 自然人股东分红必须要缴纳20%个税吗?有三种真不用
- MYSQL 查询某个月有多少天数?
- 计算机的组成以及其功能
热门文章
- 国服Cytus2解密与注入
- 自动将BAT文件转换为EXE
- c语言图形程序设计 pdf,Visual C++图形程序设计 PDF扫描版[29MB]
- [小黄书管理平台]登录服务的实现
- 计算机网络虚电路数据报,计算机网络——网络层-虚电路和数据报网络
- 基于ENVI5.3的Landsat条带去除、辐射定标、大气校正
- data填补 envi no,ENVI正射校正、统计大气校正、地形起伏度与影像清晰度计算
- 组策略(GPO)错误:没有应用 (未知原因)
- BUUCTF-WriteUp
- 网页文档输出、对话框