数学趣题讲解_第1页
数学趣题讲解_第2页
数学趣题讲解_第3页
数学趣题讲解_第4页
数学趣题讲解_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章第五章 数学趣题数学趣题在现实的生活中有许许多多有趣的数学问题。经常有在现实的生活中有许许多多有趣的数学问题。经常有意识地寻找并解决这些问题可以增强我们的逻辑思维能力,意识地寻找并解决这些问题可以增强我们的逻辑思维能力,进而开发我们的大脑,提高我们的智力水平,同时使生活变进而开发我们的大脑,提高我们的智力水平,同时使生活变得丰富多彩。计算机就是帮助我们解决这些问题的强有力的得丰富多彩。计算机就是帮助我们解决这些问题的强有力的工具。经常练习通过编写程序解决数学难题,可以减少我们工具。经常练习通过编写程序解决数学难题,可以减少我们在解题时遇到的繁琐而复杂的计算,把精力集中在解决具体在解题时遇

2、到的繁琐而复杂的计算,把精力集中在解决具体问题的方法上,从而锻炼我们的思考能力,逻辑思维水平,问题的方法上,从而锻炼我们的思考能力,逻辑思维水平,同时提高自身的编程水平和应用计算机解决实际问题的能力同时提高自身的编程水平和应用计算机解决实际问题的能力。本章将讲解如何通过程序设计来解决一些有趣的数学本章将讲解如何通过程序设计来解决一些有趣的数学问题。通过本章的学习,读者不但可以了解一些有趣的数学问题。通过本章的学习,读者不但可以了解一些有趣的数学问题的求解方法,而且可以通过举一反三扩大知识面,提高问题的求解方法,而且可以通过举一反三扩大知识面,提高应用计算机编程解决实际问题的能力。应用计算机编程

3、解决实际问题的能力。5.1舍罕王的失算舍罕王的失算题目要求:题目要求:舍罕是古印度的国王,据说他十分好玩,宰相达依尔舍罕是古印度的国王,据说他十分好玩,宰相达依尔为讨好国王,发明了现今的国际象棋献给国王。舍罕非常喜为讨好国王,发明了现今的国际象棋献给国王。舍罕非常喜欢这项游戏,于是决定嘉奖达依尔,许诺可以满足达依尔提欢这项游戏,于是决定嘉奖达依尔,许诺可以满足达依尔提出的任何要求。达依尔指着舍罕王前面的棋盘提出了要求:出的任何要求。达依尔指着舍罕王前面的棋盘提出了要求:“陛下,请您按棋盘的格子赏赐我一点麦子吧,第陛下,请您按棋盘的格子赏赐我一点麦子吧,第1个小格赏个小格赏我一粒麦子,第我一粒麦

4、子,第2个小格赏我两粒,第个小格赏我两粒,第3个小格赏四粒,以后个小格赏四粒,以后每一小格都比前一个小格赏的麦粒数增加一倍,只要把棋盘每一小格都比前一个小格赏的麦粒数增加一倍,只要把棋盘上全部上全部64个小格按这样的方法得到的麦粒都赏赐给我,我就个小格按这样的方法得到的麦粒都赏赐给我,我就心满意足了。心满意足了。”舍罕王听了达依尔这个舍罕王听了达依尔这个“小小小小”的要求,想都的要求,想都没想就满口答应下来。没想就满口答应下来。结果在给达依尔麦子时舍罕惊奇地发现它要给达依尔结果在给达依尔麦子时舍罕惊奇地发现它要给达依尔的麦子比自己想象的要多得多,于是他进行了计算,结果令的麦子比自己想象的要多得

5、多,于是他进行了计算,结果令他大惊失色。问题是:舍罕王的计算结果是多少粒麦子?他大惊失色。问题是:舍罕王的计算结果是多少粒麦子?5.2 求两个数的最大公约数和最小公倍数求两个数的最大公约数和最小公倍数题目要求:题目要求:编写一个程序计算两个正整数的最大公约数和最小公倍数。编写一个程序计算两个正整数的最大公约数和最小公倍数。题目分析:题目分析:所谓两个数最大公约数就是指两个数所谓两个数最大公约数就是指两个数a,b的公共因数中最大的公共因数中最大的那一个。例如:的那一个。例如:4和和8,两个数的公共因数分别为,两个数的公共因数分别为1、2、4,其,其中中4为为4和和8的最大公约数。的最大公约数。因

6、此要计算出两个数的最大公约数,最简单的方法就是从两因此要计算出两个数的最大公约数,最简单的方法就是从两个数中较小的那个开始依次递减,得到的第一个这两个数的公因个数中较小的那个开始依次递减,得到的第一个这两个数的公因子数即为这两个数的最大公约数。子数即为这两个数的最大公约数。5.3歌德巴赫猜想的近似证明歌德巴赫猜想的近似证明题目要求:题目要求:所谓歌德巴赫猜想是说任何一个大于所谓歌德巴赫猜想是说任何一个大于2的偶数都能表示的偶数都能表示成为两个素数之和。应用计算机工具可以很快地在一定范围成为两个素数之和。应用计算机工具可以很快地在一定范围内验证歌德巴赫猜想的正确性。请编写一个内验证歌德巴赫猜想的

7、正确性。请编写一个C程序,验证指程序,验证指定范围内歌德巴赫猜想的正确性,也就是近似证明歌德巴赫定范围内歌德巴赫猜想的正确性,也就是近似证明歌德巴赫猜想(因为不可能用计算机穷举出所有正偶数)。猜想(因为不可能用计算机穷举出所有正偶数)。题目分析:题目分析:可以把可以把问题归结为在指定范围内(例如:问题归结为在指定范围内(例如:12000内)内)验证其中每一个偶数是否满足歌德巴赫猜想的论断,即是否验证其中每一个偶数是否满足歌德巴赫猜想的论断,即是否能表示为两个素数之和。如果发现一个偶数不能表示为两个能表示为两个素数之和。如果发现一个偶数不能表示为两个素数之和,即不满足歌德巴赫猜想的论断,则意味着

8、举出了素数之和,即不满足歌德巴赫猜想的论断,则意味着举出了反例,从而可以否定歌德巴赫猜想。反例,从而可以否定歌德巴赫猜想。5.4 三色球问题三色球问题题目要求:题目要求:由红、黄、绿三种颜色的球,其中红球由红、黄、绿三种颜色的球,其中红球3个,黄球个,黄球3个,个,绿球绿球6个。现将这个。现将这12个球混放在一个盒子中,从中任意摸出个球混放在一个盒子中,从中任意摸出8个球,编程计算摸出球的各种颜色搭配。个球,编程计算摸出球的各种颜色搭配。题目分析:题目分析:这是一道排列组合的问题。从这是一道排列组合的问题。从12个球中任意摸出个球中任意摸出8个球,个球,求颜色搭配的种类。解决这类问题的一种比较

9、简单直观的方求颜色搭配的种类。解决这类问题的一种比较简单直观的方法是应用穷举法,在可能的解空间中找出所有的搭配,然后法是应用穷举法,在可能的解空间中找出所有的搭配,然后再根据约束条件加以排除,最终筛选出正确的答案。再根据约束条件加以排除,最终筛选出正确的答案。5.5 百钱买百鸡问题百钱买百鸡问题题目要求:题目要求:我国古代数学家张丘建在我国古代数学家张丘建在算经算经一书中曾提出过著名的一书中曾提出过著名的“百百钱买百鸡钱买百鸡”问题。该问题叙述如下:鸡翁一,值钱五;鸡母一,值问题。该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?请钱三;鸡雏三,值

10、钱一;百钱买百鸡,则翁、母、雏各几何?请编写编写C程序,解决程序,解决“百钱买百鸡百钱买百鸡”问题。问题。5.6 判断回文数字判断回文数字题目要求:题目要求:有这样一类数字,它们顺着看和倒着看是相同的数,有这样一类数字,它们顺着看和倒着看是相同的数,例如例如121,656,2332等,这样的数字叫做回文数字。编写等,这样的数字叫做回文数字。编写一个程序,判断从键盘接收的数字是否为回文数字。一个程序,判断从键盘接收的数字是否为回文数字。题目分析:题目分析:要想判断一个数是否是回文数字,必须从回文数字的要想判断一个数是否是回文数字,必须从回文数字的特点入手。因为回文数字顺着看和倒着看是相同的数,所

11、以特点入手。因为回文数字顺着看和倒着看是相同的数,所以可以通过这个特点来判断一个数字是否是回文数字。可以通过这个特点来判断一个数字是否是回文数字。显然可以通过将一个十进制数显然可以通过将一个十进制数“倒置倒置”的办法来判断它的办法来判断它是否是回文数字。所谓倒置就是计算该十进制数倒过来后的是否是回文数字。所谓倒置就是计算该十进制数倒过来后的结果。例如一个数是结果。例如一个数是123,它的倒置结果为,它的倒置结果为321,因为,因为123不不等于等于321,所以,所以123不是回文数字。同理,一个数是不是回文数字。同理,一个数是121,它,它的倒置结果也为的倒置结果也为121,所以,所以121是

12、回文数字。是回文数字。5.7 填数字游戏求解填数字游戏求解题目要求:题目要求:有这样一个算式:有这样一个算式:其中其中ABCDE代表的数字各不相同。编写一个程序,计代表的数字各不相同。编写一个程序,计算出算出ABCDE各代表什么数字。各代表什么数字。题目分析:题目分析:这道题的实质就是求这样一个这道题的实质就是求这样一个4位数位数ABCD和和1位数位数E,要求它们的乘积等于要求它们的乘积等于DCBA。同时。同时A、B、C、D、E互不相互不相等。也就是在等。也就是在4位的整数集合位的整数集合1000,9999和和1位的整数集位的整数集合合1,9中找到符合上述算式条件的中找到符合上述算式条件的4位

13、数位数ABCD和和1位数位数E。因此不难想到应用穷举法可以方便地找到答案。因此不难想到应用穷举法可以方便地找到答案。ABCDEDCBA5.8 新郎和新娘新郎和新娘题目要求:题目要求:三对新婚夫妇参加婚礼,三个新郞为三对新婚夫妇参加婚礼,三个新郞为A、B、C,三个新,三个新娘为娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:人中的三位,但听到的回答是这样的:A说他将和说他将和X结婚;结婚;X说她的未婚夫是说她的未婚夫是C;C说他将和说他将和Z结婚。这人听后知道他们在结婚。这人听后知道他们在开玩笑,全是假话。请编程找出

14、谁将和谁结婚。开玩笑,全是假话。请编程找出谁将和谁结婚。题目分析:题目分析:如果如果“乱点鸳鸯谱乱点鸳鸯谱”的话,三个新郎的话,三个新郎A、B、C和三个新娘和三个新娘X、Y、Z共有共有6种配对组合方式。这是因为不能出现两个新郎种配对组合方式。这是因为不能出现两个新郎(新娘)和一个新娘(新郎)结婚的状况,所以只可能有(新娘)和一个新娘(新郎)结婚的状况,所以只可能有3*2*1=6种配对方案。因此只要穷举出这种配对方案。因此只要穷举出这6种配对方案,再应种配对方案,再应用问题中给出的约束条件就可以筛选出正确的答案来。用问题中给出的约束条件就可以筛选出正确的答案来。5.9 爱因斯坦的阶梯问题爱因斯坦

15、的阶梯问题题目要求:题目要求:爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上若每步上2阶,最后剩阶,最后剩1阶;若每步上阶;若每步上3阶,最后剩阶,最后剩2阶;若每步阶;若每步上上5阶,最后剩阶,最后剩4阶;若每步上阶;若每步上6阶,最后剩阶,最后剩5阶;只有每步上阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。编写一阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。编写一个个C程序解决该问题。程序解决该问题。5.10 寻找水仙花数寻找水仙花数题目要求:题目要求:如果一个如果一个3位数等于其各位数字的立方和,则称这个数

16、位数等于其各位数字的立方和,则称这个数为水仙花数。为水仙花数。例如:例如:407=43+03+73,因此,因此407就是一个水仙就是一个水仙花数。编写一个程序,找出全部的水仙花数。花数。编写一个程序,找出全部的水仙花数。题目分析:题目分析:水仙花数是三位数,只要应用穷举法水仙花数是三位数,只要应用穷举法穷举出穷举出100999闭闭区间中的每一个数字(正整数),然后对每一个正整数进行区间中的每一个数字(正整数),然后对每一个正整数进行判断,看它是不是判断,看它是不是水仙花数水仙花数,如果是水仙花,如果是水仙花数数,则将该数输,则将该数输出,如果不是水仙花出,如果不是水仙花数数,则不输出该数。,则

17、不输出该数。5.11 猴子吃桃问题猴子吃桃问题题目要求:题目要求:有一只猴子第一天摘下若干个桃子,当即吃掉了一半有一只猴子第一天摘下若干个桃子,当即吃掉了一半,又多吃了一个;第二天又将剩下的桃子吃掉一半,又多吃,又多吃了一个;第二天又将剩下的桃子吃掉一半,又多吃一个;按照这样的吃法每天都吃前一天剩下的桃子的一半又一个;按照这样的吃法每天都吃前一天剩下的桃子的一半又一个。到了第十天,就只剩下一个桃子。问题:这只猴子第一个。到了第十天,就只剩下一个桃子。问题:这只猴子第一天摘了多少个桃子。一天摘了多少个桃子。5.12 兔子产仔问题兔子产仔问题题目要求:题目要求:13世纪意大利数学家斐波那契他的世纪

18、意大利数学家斐波那契他的算盘书算盘书中提出这中提出这样一个问题:有人想知道一年内一对兔子可繁殖成多少对,样一个问题:有人想知道一年内一对兔子可繁殖成多少对,便筑了一道围墙把一对新生的兔子关在里面。已知一对两个便筑了一道围墙把一对新生的兔子关在里面。已知一对两个月大的兔子以后每一个月都可以生一对小兔子,而一对新生月大的兔子以后每一个月都可以生一对小兔子,而一对新生的兔子出生两个月后才可以生小兔子(例如:的兔子出生两个月后才可以生小兔子(例如:1月份出生,月份出生,3月份才可产仔)。假如一年内没有发生死亡,则一年内共能月份才可产仔)。假如一年内没有发生死亡,则一年内共能繁殖成多少对?繁殖成多少对?

19、5.13 分解质因数分解质因数题目要求:题目要求:根据数论的知识可知任何一个合数都可以写成几个质数相根据数论的知识可知任何一个合数都可以写成几个质数相乘的形式,这几个质数都叫做这个合数的质因数。例如乘的形式,这几个质数都叫做这个合数的质因数。例如24=2*2*2*3。把一个合数写成几个质数相乘的形式表示,叫做。把一个合数写成几个质数相乘的形式表示,叫做分解质因数。对于一个质数,它的质因数可定义为它本身。编分解质因数。对于一个质数,它的质因数可定义为它本身。编写一个程序实现分解质因数。写一个程序实现分解质因数。5.14 常胜将军常胜将军题目要求:题目要求:现有现有21根火柴,两人轮流取,每人每次

20、可以取走根火柴,两人轮流取,每人每次可以取走1至至4根,不可多取,也不能不取,谁取最后一楰火柴谁输。请编根,不可多取,也不能不取,谁取最后一楰火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为机一方为“常胜将军常胜将军”。 5.15 求求的近似值的近似值题目要求:题目要求:编写一个编写一个C程序,用来求出程序,用来求出的近似值。的近似值。题目分析:题目分析:求求的方法很多,这里两种最为常用的求的方法很多,这里两种最为常用的求的方法。的方法。方法方法1:利用:利用“正多边形逼近正多边形逼近”法求法求。“正多边形逼近正多边

21、形逼近” 法求法求的核心思想是极限的思想。假的核心思想是极限的思想。假设一个直径设一个直径d为为1的圆,只要求出该圆的周长的圆,只要求出该圆的周长C,就可以通过,就可以通过=C/d的方法求出的方法求出的值。所以关键是求出该圆的周长的值。所以关键是求出该圆的周长C。这里用这里用“正多边形逼近正多边形逼近”的方法求圆的周长。的方法求圆的周长。5.16 魔幻方阵魔幻方阵题目要求:题目要求:有一种方阵被称为有一种方阵被称为“魔幻方阵魔幻方阵”。所谓魔幻方阵是指在。所谓魔幻方阵是指在n*n的矩阵中填写的矩阵中填写1n2这这n2个数字,使得它的每一行、每一个数字,使得它的每一行、每一列以及两个对角线之和均

22、相等。例如三阶魔幻方阵如下:列以及两个对角线之和均相等。例如三阶魔幻方阵如下:它的每一行、每一列以及两个对角线之和均为它的每一行、每一列以及两个对角线之和均为15。编。编写一个程序,打印出一种三阶的魔幻方阵。写一个程序,打印出一种三阶的魔幻方阵。8163574925.17 移数字游戏移数字游戏题目要求:题目要求:有这样一个包含有这样一个包含9个圆圈的数阵,如图个圆圈的数阵,如图5-22所示:所示: 图5-22 包含9个圆圈的数阵23768451图5-23 数阵的最终状态5.18 数字的全排列数字的全排列题目要求:题目要求:输入一个数字序列输入一个数字序列a1,a2,an,将该序列进行排列,将该

23、序列进行排列,并输出每一种排列方式。,并输出每一种排列方式。5.19 完全数完全数题目要求:题目要求:如果一个数恰好等于它的因子之和,那么这个数就被如果一个数恰好等于它的因子之和,那么这个数就被称为完全数。例如称为完全数。例如6的因子为的因子为1,2,3,而,而6=1+2+3,因此,因此6是一个完全数。求出是一个完全数。求出1000以内的完全数。以内的完全数。题目分析:题目分析:本题最为直接的解法就是利用穷举法在本题最为直接的解法就是利用穷举法在11000以内判以内判断每个数是否是完全数,如果是完全数就输出之。问题的关断每个数是否是完全数,如果是完全数就输出之。问题的关键就是如何判断一个数键就

24、是如何判断一个数a是否是完全数。它要分为两个步骤是否是完全数。它要分为两个步骤完成:完成: (1)求出)求出a的所有因子的所有因子a1,a2an的和的和sum;(2)判断)判断a1+a2+an的和的和sum是否等于是否等于a,如果,如果sum等于等于a则则a是完全数,否则是完全数,否则a不是完全数。不是完全数。5.20 亲密数亲密数题目要求:题目要求:如果整数如果整数A的全部因子(包括的全部因子(包括1,不包括,不包括A本身)之和本身)之和等于等于B,并且整数,并且整数B的全部因子(包括的全部因子(包括1,不包括,不包括B本身)之本身)之和等于和等于A,则称整数,则称整数A和和B为亲密数。求解为亲密数。求解3000以内的全部以内的全

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论