text: (window.webpackJsonp=window.webpackJsonp||[]).push([[22],{200:function(a,t,r){"use strict";r.r(t);var _=r(0),s=Object(_.a)({},(function(){var a=this.$createElement;this._self._c;return this._m(0)}),[function(){var a=this,t=a.$createElement,r=a._self._c||t;return r("div",{staticClass:"content"},[r("h1",{attrs:{id:"第四章-编程基本功"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#第四章-编程基本功","aria-hidden":"true"}},[a._v("#")]),a._v(" 第四章 编程基本功")]),a._v(" "),r("h2",{attrs:{id:"_4-1-字符类型统计器"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-1-字符类型统计器","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.1 字符类型统计器")]),a._v(" "),r("p",[a._v("请编写一个C程序,在终端用键盘输入字符串,以Ctrl+Z组合键表示输入完毕,统计输入的字符串中的空格符,制表符,换行符的个数,并显示统计的结果")]),a._v(" "),r("h2",{attrs:{id:"_4-2-计算字符的ascii码"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-2-计算字符的ascii码","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.2 计算字符的ASCII码")]),a._v(" "),r("p",[a._v("编写一个程序,在终端输入一个字符,输出它的ASCII码")]),a._v(" "),r("h2",{attrs:{id:"_4-3-嵌套if-slse语句的妙用"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-3-嵌套if-slse语句的妙用","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.3 嵌套if-slse语句的妙用")]),a._v(" "),r("p",[a._v("学校进行成绩分级管理,取消分数制,改为成绩分级评定。具体办法是：小于60分为E类；60分至70分（不含70分）为D类；70分至80分（不含）为C类；80分至90分（不含）为B类；90分以上为A类。设计一个程序，对输入的成绩进行等级划分")]),a._v(" "),r("h2",{attrs:{id:"_4-4-基于switch语句的译码器"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-4-基于switch语句的译码器","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.4 基于switch语句的译码器")]),a._v(" "),r("p",[a._v("给定一个成绩码表如下：")]),a._v(" "),r("table",[r("thead",[r("tr",[r("th",[a._v("a")]),a._v(" "),r("th",[a._v("b")]),a._v(" "),r("th",[a._v("c")])])]),a._v(" "),r("tbody",[r("tr",[r("td",[a._v("1")]),a._v(" "),r("td",[a._v("01")]),a._v(" "),r("td",[a._v("001")])])])]),a._v(" "),r("p",[a._v("又知有一个0/1字符串为：“001011101001011001”，编写一个C程序，按照给定的前缀码表为该字符串译码。")]),a._v(" "),r("h2",{attrs:{id:"_4-5-判断闰年"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-5-判断闰年","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.5 判断闰年")]),a._v(" "),r("p",[a._v("给定一个年份，判断该年是否是闰年。")]),a._v(" "),r("h2",{attrs:{id:"_4-6-指针变量作参数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-6-指针变量作参数","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.6 指针变量作参数")]),a._v(" "),r("p",[a._v("编写一个函数inputArray，该函数被主函数调用，通过该函数实现向主函数中定义的数组输入数据")]),a._v(" "),r("h2",{attrs:{id:"_4-7-矩阵的转置运算"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-7-矩阵的转置运算","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.7 矩阵的转置运算")]),a._v(" "),r("p",[r("img",{attrs:{src:"/study/algorithm/4.7.png",alt:"矩阵转置"}})]),a._v(" "),r("h2",{attrs:{id:"_4-8-矩阵的乘法运算"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-8-矩阵的乘法运算","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.8 矩阵的乘法运算")]),a._v(" "),r("p",[r("img",{attrs:{src:"/study/algorithm/4.8.png",alt:"矩阵乘法"}})]),a._v(" "),r("h2",{attrs:{id:"_4-9-巧用位运算"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-9-巧用位运算","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.9 巧用位运算")]),a._v(" "),r("p",[a._v("用位运算操作实现两个整数的交换。例如x1=5，x2=10；交换后x1=10，x2=5。")]),a._v(" "),r("h2",{attrs:{id:"_4-10-文件的读写-忽略"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-10-文件的读写-忽略","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.10 文件的读写(忽略)")]),a._v(" "),r("p",[a._v("创建一个后缀名为txt的文件，并向该文件中写入一个字符串，保存起来。再打开该文件，读出文件中的内容。")]),a._v(" "),r("h2",{attrs:{id:"_4-11-计算文件的大小-忽略"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-11-计算文件的大小-忽略","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.11 计算文件的大小(忽略)")]),a._v(" "),r("p",[a._v("编写一个C程序，用来计算指定文件的大小。")]),a._v(" "),r("h2",{attrs:{id:"_4-12-记录程序的运行时间"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-12-记录程序的运行时间","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.12 记录程序的运行时间")]),a._v(" "),r("p",[a._v("任意编写一段程序，要求记录并输出该段程序执行的时间。")]),a._v(" "),r("h2",{attrs:{id:"_4-13-十进制-二进制转化器"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-13-十进制-二进制转化器","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.13 十进制/二进制转化器")]),a._v(" "),r("p",[a._v("编写一个程序，将输入的十进制数转化为二进制表示。例如：输入十进制数64，输出二进制数表示1000000")]),a._v(" "),r("h2",{attrs:{id:"_4-14-计打印特殊图案"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-14-计打印特殊图案","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.14 计打印特殊图案")]),a._v(" "),r("p",[a._v("在应用C语言开发程序时，有时为了程序运行界面的美观，需要在屏幕上用字符构成一些特殊的图案用以装饰。请设计一个C程序，实现在屏幕上输出一个类似于下面的图案。\n"),r("img",{attrs:{src:"/study/algorithm/4.14.png",alt:"矩阵乘法"}})]),a._v(" "),r("h2",{attrs:{id:"_4-15-打印杨辉三角"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-15-打印杨辉三角","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.15 打印杨辉三角")]),a._v(" "),r("p",[a._v("在屏幕上打印出一个6阶杨辉三角")]),a._v(" "),r("h2",{attrs:{id:"_4-16-复杂级数的前n项和"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-16-复杂级数的前n项和","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.16 复杂级数的前n项和")]),a._v(" "),r("p",[r("img",{attrs:{src:"/study/algorithm/4.16.png",alt:"矩阵乘法"}})]),a._v(" "),r("h2",{attrs:{id:"_4-17-寻找矩阵中的-鞍点"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-17-寻找矩阵中的-鞍点","aria-hidden":"true"}},[a._v("#")]),a._v(' 4.17 寻找矩阵中的"鞍点"')]),a._v(" "),r("p",[a._v("在一个矩阵中，可能会有这样的元素：它在该行中最大，而在该列中最小。我们把这样的元素称为“鞍点”。一个矩阵中也可能没有“鞍点”。任意输入一个5x5的矩阵，寻找该矩阵中的“鞍点”，并将它在矩阵中的位置（行，列）输出。")]),a._v(" "),r("h2",{attrs:{id:"_4-18-n阶勒让德多项式求解"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-18-n阶勒让德多项式求解","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.18 n阶勒让德多项式求解")]),a._v(" "),r("p",[r("img",{attrs:{src:"/study/algorithm/4.18.png",alt:"矩阵乘法"}}),r("br"),a._v("\n测试：当n=5,x=1.6时，输出1.56")]),a._v(" "),r("h2",{attrs:{id:"_4-19-递归反向输出字符串"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-19-递归反向输出字符串","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.19 递归反向输出字符串")]),a._v(" "),r("p",[a._v("编写一个递归函数，实现将输入的任意长度的字符串反向输出的功能。例如输入字符串：ABCD，输出字符串：BCDA。")]),a._v(" "),r("h2",{attrs:{id:"_4-20-一年中的第几天"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_4-20-一年中的第几天","aria-hidden":"true"}},[a._v("#")]),a._v(" 4.20 一年中的第几天")]),a._v(" "),r("p",[a._v("输入某年某月某日，判断这一天是这一年的第几天？")]),a._v(" "),r("h1",{attrs:{id:"第五章-数学趣题（一）"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#第五章-数学趣题（一）","aria-hidden":"true"}},[a._v("#")]),a._v(" 第五章 数学趣题（一）")]),a._v(" "),r("h2",{attrs:{id:"_5-1-舍罕王的失算"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-1-舍罕王的失算","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.1 舍罕王的失算")]),a._v(" "),r("p",[a._v("舍罕是古印度的国王，据说他十分好玩，宰相达依尔为讨好国王，发明了现今的国际象棋献给国王。舍罕非常喜欢这个游戏，于是决定嘉奖达依尔，许诺可以满足达依尔提出的任何要求。达依尔指着舍罕王前面的棋盘提出了要求：“陛下，请您按棋盘的格子赏赐我一点麦子吧，第一个小格赏我一粒麦子，第二个小格赏我两粒，第三个小格赏四粒，以后每一小格都比前一个小格赏的麦粒数增加一倍，只要把棋盘上全部64个小格按这样的方法得到的麦粒都赏赐给我，我就心满意足了。”。舍罕王听了达依尔这个“小小”的要求，想都没想就满口答应下来。结果在给达依尔麦子时舍罕惊奇地发现他要给达依尔的麦子比自己想象的要多得多，于是他进行了计算，结果令他大惊失色。问题是：舍罕王的计算结果是多少粒麦子？")]),a._v(" "),r("h2",{attrs:{id:"_5-2-求两个数的最大公约数和最小公倍数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-2-求两个数的最大公约数和最小公倍数","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.2 求两个数的最大公约数和最小公倍数")]),a._v(" "),r("p",[a._v("编写一个程序计算两个正整数的最大公约数和最小公倍数。")]),a._v(" "),r("h2",{attrs:{id:"_5-3-哥德巴赫猜想的近似证明"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-3-哥德巴赫猜想的近似证明","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.3 哥德巴赫猜想的近似证明")]),a._v(" "),r("p",[a._v("众所周知，哥德巴赫猜想的证明是一个世界性的数学难题，至今未能完全解决。我国著名数学家陈景润为哥德巴赫猜想的证明作出杰出的贡献。")]),a._v(" "),r("h2",{attrs:{id:"_5-4-三色球问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-4-三色球问题","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.4 三色球问题")]),a._v(" "),r("p",[a._v("有红，黄，绿三种颜色的球，其中红球3个，黄球3个，绿球6个。现将这十二个球混放在一个盒子中，从中任意摸出8个球，编程计算摸出球的各种颜色搭配。")]),a._v(" "),r("h2",{attrs:{id:"_5-5-百钱买百鸡问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-5-百钱买百鸡问题","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.5 百钱买百鸡问题")]),a._v(" "),r("p",[a._v("我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题。该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?请编写程序,解决“百钱买百鸡”问题。")]),a._v(" "),r("h2",{attrs:{id:"_5-6-判断回文数字"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-6-判断回文数字","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.6 判断回文数字")]),a._v(" "),r("p",[a._v("有这样一类数字,它们顺着看和倒着看是相同的数,例如121, 656, 2332等,这样的数字叫做回文数字。编写一个程序,判断从键盘接收的数字是否为回文数字。")]),a._v(" "),r("h2",{attrs:{id:"_5-7-填数字游戏求解"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-7-填数字游戏求解","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.7 填数字游戏求解")]),a._v(" "),r("p",[a._v("有这样一个算式:\n"),r("img",{attrs:{src:"/study/algorithm/5.7.png",alt:"填数字游戏求解"}}),r("br"),a._v("\n其中ABCDE代表的数字各不相同。编写一个程序,计算出ABCDE各代表什么数字")]),a._v(" "),r("h2",{attrs:{id:"_5-8-新郎和新娘"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-8-新郎和新娘","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.8 新郎和新娘")]),a._v(" "),r("p",[a._v("3对新婚夫妇参加婚礼, 3个新郎为A,B,C, 3个新娘为X,Y,Z。有人不知道谁和谁结婚,于是询问了6位新人中的3位,但听到的回答是这样的: A说他将和X结婚;X说她的未婚夫是C: C说他将和Z结婚。这人听后知道他们在开玩笑,全是假话。请编程找出谁将和谁结婚。")]),a._v(" "),r("h2",{attrs:{id:"_5-9-爱因斯坦的阶梯问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-9-爱因斯坦的阶梯问题","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.9 爱因斯坦的阶梯问题")]),a._v(" "),r("p",[a._v("爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。编写一个程序解决该问题。")]),a._v(" "),r("h2",{attrs:{id:"_5-10-寻找水仙花数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-10-寻找水仙花数","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.10 寻找水仙花数")]),a._v(" "),r("p",[a._v("如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如:\n"),r("img",{attrs:{src:"/study/algorithm/5.10.png",alt:"寻找水仙花数"}}),a._v("\n因此407就是一个水仙花数。编写一个程序,找出全部的水仙花数。")]),a._v(" "),r("h2",{attrs:{id:"_5-11-猴子吃桃问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-11-猴子吃桃问题","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.11 猴子吃桃问题")]),a._v(" "),r("p",[a._v("有一只猴子第一天摘下若干个桃子,当即吃掉了一半,又多吃了一个;第二天又将剩下的桃子吃掉一半,又多吃一个;按照这样的吃法每天都吃前一天剩下的桃子的一半又一。到了第十天,就只剩下一个桃子。问题:这只猴子第一天摘了多少个桃子。")]),a._v(" "),r("h2",{attrs:{id:"_5-12-兔子产仔问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-12-兔子产仔问题","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.12 兔子产仔问题")]),a._v(" "),r("p",[a._v("13世纪意大利数学家斐波那契他的《算盘书》中提出这样一个问题:有人想知道一年内一对兔子可繁殖成多少对,便筑了一道围墙把一对新生的兔子关在里面。已知一对两个月大的兔子以后每一个月都可以生一对小兔子,而一对新生的兔子出生两个月后才可以生小兔子(例如: 1月份出生, 3月份才可产仔)。假如一年内没有发生死亡,则一年内共能繁殖成多少对?")]),a._v(" "),r("h2",{attrs:{id:"_5-13-分解质因数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-13-分解质因数","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.13 分解质因数")]),a._v(" "),r("p",[a._v("根据数论的知识可知任何一个合数都可以写成几个质数相乘的形式,这几个质数都叫做这个合数的质因数。例如24-2×2×2x3,把一个合数写成几个质数相乘的形式表示,叫做分解质因数。对于一个质数,它的质因数可定义为它本身。编写一个程序实现分解质因数。")]),a._v(" "),r("h2",{attrs:{id:"_5-14-常胜将军"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-14-常胜将军","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.14 常胜将军")]),a._v(" "),r("p",[a._v("现有21根火柴,两人轮流取,每人每次可以取走1至4根,不可多取,也不能不取,谁取最后一根火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。")]),a._v(" "),r("h2",{attrs:{id:"_5-15求-π-的近似值"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-15求-π-的近似值","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.15求 π 的近似值")]),a._v(" "),r("p",[a._v("编写一个程序,用来求出 π 的近似值。")]),a._v(" "),r("h2",{attrs:{id:"_5-16-魔幻方阵"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-16-魔幻方阵","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.16 魔幻方阵")]),a._v(" "),r("p",[a._v("有一种方阵被称为“魔幻方阵”。所谓魔幻方阵是指在nXn的矩阵中填写1-n²这n²个数字,使得它的每一行、每一列以及两个对角线之和均相等。例如三阶魔幻方阵如下:\n"),r("img",{attrs:{src:"/study/algorithm/5.16.png",alt:"魔幻方阵"}}),a._v("\n它的每一行、每一列以及两个对角线之和均为15,编写一个程序,打印出一种三阶的魔幻方阵。")]),a._v(" "),r("h2",{attrs:{id:"_5-17-移数字游戏"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-17-移数字游戏","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.17 移数字游戏")]),a._v(" "),r("p",[a._v("有这样一个包含9个圆圈的数阵,如图5-22所示。"),r("br"),a._v(" "),r("img",{attrs:{src:"/study/algorithm/5.17.png",alt:"移数字游戏"}}),a._v("\n将1-8这8个数随机地填写到该数阵的外层的圆圈中,只剩下中间的一个空圆圈。规定每个数字只能按照数阵中的直线从一个圆圈移动到另一个空的圆圈中。通过若干步的移动,要求将该数阵中的数字移动成为如图5-23所示的状态 "),r("br"),a._v("\n编写一个程序,输出数字每一步的移动过程。")]),a._v(" "),r("h2",{attrs:{id:"_5-18-数字的全排列"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-18-数字的全排列","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.18 数字的全排列")]),a._v(" "),r("p",[a._v("输入一个数字序列A1,A2...,An ,将该序列进行排列,并输出每一种排列方式。例如:输入数字序列: 1, 3, 5,该数列共有6种排列方式,分别为:"),r("br"),a._v(" "),r("img",{attrs:{src:"/study/algorithm/5.18.png",alt:"移数字游戏"}}),a._v("\n编写一个程序,实现数字序列的全排列。")]),a._v(" "),r("h2",{attrs:{id:"_5-19-完全数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-19-完全数","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.19 完全数")]),a._v(" "),r("p",[a._v("如果一个数恰好等于它的因子之和,那么这个数就被称为完全数。例如6的因子为1,2,3,而6=1+2+3,因此6是一个完全数。求出1000以内的完全数。")]),a._v(" "),r("h2",{attrs:{id:"_5-20-亲密数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-20-亲密数","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.20 亲密数")]),a._v(" "),r("p",[a._v("如果整数A的全部因子(包括1,不包括A本身)之和等于B,并且整数B的全部因子(包括1,不包括B本身)之和等于A,则称整数A和B为亲密数。求解3000以内的全部亲密数。")]),a._v(" "),r("h2",{attrs:{id:"_5-21-数字翻译器"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-21-数字翻译器","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.21 数字翻译器")]),a._v(" "),r("p",[a._v("输入一个正整数N,输出它的英文表达。例如:输入1,输出one;输入12,输出twelve;输入135,输出one hundred thirty five…。编写程序实现之。")]),a._v(" "),r("h2",{attrs:{id:"_5-22-递归实现数制转换"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-22-递归实现数制转换","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.22 递归实现数制转换")]),a._v(" "),r("p",[a._v("A应用递归的方法实现一个数制转换器,它可以将输入的二进制数转换为十进制表达。")]),a._v(" "),r("h2",{attrs:{id:"_5-23-谁在说谎"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_5-23-谁在说谎","aria-hidden":"true"}},[a._v("#")]),a._v(" 5.23 谁在说谎")]),a._v(" "),r("p",[a._v("3个嫌疑犯在法官面前各执一词,甲说:乙在说谎;乙说:丙在说谎；丙说:甲乙两人都在说谎。法官为了难,甲乙丙三人到底谁在说谎,谁说的是真话?")]),a._v(" "),r("h1",{attrs:{id:"第6章-数学趣题-二"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#第6章-数学趣题-二","aria-hidden":"true"}},[a._v("#")]),a._v(" 第6章 数学趣题(二)")]),a._v(" "),r("h2",{attrs:{id:"_6-1-连续整数固定和问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-1-连续整数固定和问题","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.1 连续整数固定和问题")]),a._v(" "),r("p",[r("img",{attrs:{src:"/study/algorithm/6.1.png",alt:"移数字游戏"}})]),a._v(" "),r("h2",{attrs:{id:"_6-2-表示成两个数的平方和"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-2-表示成两个数的平方和","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.2 表示成两个数的平方和")]),a._v(" "),r("p",[a._v("已知一个正整数N,编写一个程序,找出所有满足X²+Y²=N的正整数对X和Y。")]),a._v(" "),r("h2",{attrs:{id:"_6-3-具有特殊性质的数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-3-具有特殊性质的数","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.3 具有特殊性质的数")]),a._v(" "),r("p",[a._v("有这样一个4位数abed,它具有这样的性质abcd=(ab+cd)², 其中, ab和cd为两个2位数，求这个4位数abcd.")]),a._v(" "),r("h2",{attrs:{id:"_6-4-验证角谷猜想"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-4-验证角谷猜想","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.4 验证角谷猜想")]),a._v(" "),r("p",[a._v("角谷猜想的内容为:任意给定一个自然数,若它为偶数则除以2,若它为奇数则乘3加1,得到一个新的自然数,按照这样的计算方法计算下去,若干次后得到的结果必然为1.编写程序对角谷猜想的正确性加以验证。")]),a._v(" "),r("h2",{attrs:{id:"_6-5-验证四方定理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-5-验证四方定理","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.5 验证四方定理")]),a._v(" "),r("p",[a._v("四方定理是数论中的重要定理,它可以叙述为:所有自然数最多只要4个数的平方和就可以表示,编写一个程序验证四方定理。")]),a._v(" "),r("h2",{attrs:{id:"_6-6-递归法寻找最小值"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-6-递归法寻找最小值","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.6 递归法寻找最小值")]),a._v(" "),r("p",[a._v("编写一个程序,要求从一个整数序列中找出最小的元素,并用递归的方法实现。")]),a._v(" "),r("h2",{attrs:{id:"_6-7-寻找同构数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-7-寻找同构数","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.7 寻找同构数")]),a._v(" "),r("p",[a._v("正整数n若是它平方数的尾部,则称n为同构数。例如, 6是其平方数36的尾部, 76是其平方数5776的尾部,因此6与76都是同构数。编写一个程序,找出1000以内的同构数。")]),a._v(" "),r("h2",{attrs:{id:"_6-8-验证尼科彻斯定理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-8-验证尼科彻斯定理","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.8 验证尼科彻斯定理")]),a._v(" "),r("p",[a._v("尼科彻斯定理可以叙述为:任何一个整数的立方都可以表示成一串连续奇数的和。这里要注意,这些奇数一定是要连续的,例如1,3,5,7,9...")]),a._v(" "),r("h2",{attrs:{id:"_6-9-三重回文数字"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-9-三重回文数字","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.9 三重回文数字")]),a._v(" "),r("p",[a._v("找出11~999之间的所有的三重回文数字。所谓三重回文数a就是指a,a²,a³都是回文数字。")]),a._v(" "),r("h2",{attrs:{id:"_6-10-马克思手稿中的数学题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-10-马克思手稿中的数学题","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.10 马克思手稿中的数学题")]),a._v(" "),r("p",[a._v("伟大的思想家马克思的手稿中有这样一道有趣的数学题:有30个人,其中有男人、女人和小孩。他们在一家饭馆中吃饭,共花费50先令。如果每个男人吃饭要花3先令,每个女人要花2先令,每个小孩花要花1先令,问男人、女人、小孩各多少人?")]),a._v(" "),r("h2",{attrs:{id:"_6-11-渔夫捕鱼问题"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-11-渔夫捕鱼问题","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.11 渔夫捕鱼问题")]),a._v(" "),r("p",[a._v("A,B,C,D,E 5个渔夫夜间合伙捕鱼,凌晨时都疲倦不堪,各自在河边的树丛中找地方睡着了。待日上三竿,渔夫A第一个醒来,他将鱼分作5份,把多余的一条扔回河中,拿自己的一份回家去了。渔夫B第二个醒来,也将鱼分作5份,扔掉多余的一条,拿走自己的一份,接着C,D,E依次醒来,也都按同样的办法分鱼,问5个渔夫至少合伙捕了多少条鱼?试编程序算出。")]),a._v(" "),r("h2",{attrs:{id:"_6-12-寻找假币"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-12-寻找假币","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.12 寻找假币")]),a._v(" "),r("p",[a._v("一个国王要赏赐给一个大臣30枚金币,但是其中有一枚是假币。国王提出要求:只能用一个天平作为测量工具,并用尽量少的比较次数找出这校假币,那么余下的29枚金币就赏赐给这个大臣;否则这个大臣将得不到赏赐。已知假币要比真币的分量略轻一些。聪明的大臣思考片刻,很快用天平找出了这枚假币,于是得到了剩下的29枚金币。你知道这位大臣是如何找到假币的吗?请编写一个程序模拟找假币的过程,注意用尽量少的比较次数找出这枚假币。")]),a._v(" "),r("h2",{attrs:{id:"_6-13-计算组合数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_6-13-计算组合数","aria-hidden":"true"}},[a._v("#")]),a._v(" 6.13 计算组合数")]),a._v(" "),r("p",[a._v("编写一个程序,计算组合数\n"),r("img",{attrs:{src:"/study/algorithm/6.13.png",alt:"计算组合数"}})])])}],!1,null,null,null);t.default=s.exports}}]);