,设5分、2分、1分的硬币数分别为X、Y、Z,求换法就是在寻找这样一种组合,使得5X2YZ100,所以每当找到1种组合时,将个数记录下来,就可知换法有多少种,算法描述如下:Cou
t0用于记录个数,初始为0forX1X20XforY1Y50YforZ1Z100Zif5X2YZ100可实现交换Cou
t输出Cou
t(2)百钱买百鸡:一只公鸡值5元,一只母鸡值3元,3只小鸡值1元,现用一百元要买一百只鸡,问有什么方案?分析:由题意可知,假设公鸡、母鸡、小鸡分别有X、Y、Z只,那么X、Y、Z满足:XYZ100,而且要满足钱数限定:5X3Y13Z100,由于3只小鸡1元钱,所以小鸡的个数必须是3的整数倍,即:Z是3的整数倍。可通过限制条件,筛选出满足条件的X,Y,Z。当然X、Y、Z还满足以下条件:5X100;3Y100;Z100。以下是算法描述:forX0X100XforY0Y100YforZ0Z100Zif5X100a
d3Y100a
dz30
专业知识编辑整理
fWORD完美格式
ifXYZ100a
d5X3YZ3100输出X、Y、Z(3)斐波那契兔子的问题:某人有一对兔子饲养在围墙中,如果它们每个月生一对兔子,且新生的兔子在第二个月后也是每个月生一对兔子,问一年后围墙中共有多少对兔子。分析:第一个月是最初的一对兔子生下一对兔子,围墙内共有两对兔子。第二个月仍是最初的一对兔子生下一对兔子,共有3对兔子。到第三个月除最初的兔子新生一对兔子外,第一个月生的兔子也开始生兔子,因此共有5对兔子。继续推下去,第12个月时最终共有对377对兔子。由分析知,每个月的兔子都是上个月的兔子与新增兔子之和,而上个月新生的兔子到下个月才会生兔子,所以新增的兔子都是上两月的兔子生的。设每个月的兔子数为F
,则可列出下列式子:F0F11F
F
1F
2显然可用递归的方法解出此题,算法流程图如下:
开始
F
0i0
F
i0i1T
FiFi1Fi2
Fi1
i
i12T输出Fi
F
开始
专业知识编辑整理
fWORD完美格式
习题2参考答案
(1)请简要描述C语言的发展历史。答:C语言是一种目前世界上普遍流行、使用广泛的高级程序设计语言,它是在B语言的基础上发展起来的,19721973年间,贝尔实验室设计出了C语言。1983年,美国国家标准化协会制定了C语言的标准,称为ANSIC。(2)略。(3)C语言的主要特点是什么?答C语言的主要特点如下。①C程序是由函数组成的。②函数由函数头和函数体组成。③C程序总是从mai
函数开始执行。④每个语句和数据声明r