第四章课后练习
4.5
设e=1+1/1!+1/2!;;;;;;;;试分别用自然语言,流程图,和伪代码写出求解e的近似值的算法。
自然语言。将阶乘看作一个整体,然后随着阶乘的增加就可表示为上一阶乘乘以下一个数。然后将这些阶乘分之一看作一个整体,则可表示为整体加上下一个阶乘分之一。
流程图。 设阶乘分之一的和为s,阶乘表示为a,一直加到n的阶乘分之一。 设s=0; a=1; 输入一个n值,假设n为100; 设 设 有两个循环,分为外循环和内循环。 建立一个循环, 外循环控制的是有多少个阶乘分之一的, 内循环控制的是阶乘到另一个阶乘,然后在求和。
流程图:
伪代码:BEGIN 0=>X
开始 X=0 I=1 X=X+1/I=I+1 N I>=n 结束 1=>I Do { x=x+1/1 I=i+1 } While(i>n) Print x End
4.8 就“兔子问题”而言,一对兔子14个月内可繁殖成多少对兔子?
这是斐波那契数列,所以根据其公式。即可求出。
0 1 1 2 3 5 8 13 21 34 55 89 144 233. 所以为233对。
4.11 采用折半搜索算法在一个有10000件商品的超市中查找1件特定的产品,为什么最多子需要14次? 根据书上的折半搜索算法的介绍可知。 2的14次方为16384且2的13次方为8192; 10000处于这两个数之间,所以最多需要14次。 4.12 设数组A有9个元素,分别是
13,42,25,106,87,102,91,49,17.请采取归并排序的算法对该数组按升序进行排列。
{13,42,25,106,87}{102,91,49,17} {13,42}{25,106,87}{102,91}{49,17} {13}{42}{25}{106}{87}{102}{91}{49}{17} {13,42}{25,106}{87,102}{17,49,91} {13,25,42,106}{17,49,87,91,102} {13,17,25,42,49,87,91,102,106}
4.13 给定4输入正排序网络如图所示。
(1)使用具体自然数N={0,1,2,3,‘’‘n}验证之; (2)解释其工作原理;
4个数为1,2,3,4
此4输入倒排序网络分为3个阶段,第一阶段t1中两个2输入倒排序网络并行计算,第二阶段t2中同样有两个倒排序网络并行计算,第三阶段t3中也是两个2输入倒排序网络并行计算,最后倒排序输出为{1,2,3,4}
工作原理,分为六个阶段中都为 一个二输入正排序网络工作,最后输出为1234. 4,14 给定4输入倒排序网络
(1)使用具体自然数N={1,2,3,n}验证之 (2)是解释其工作原理。 (1)
4 4
Comp1 Comp2 Comp3 3 3 2 2 1 Comp 4 Comp5 Comp6 1
(2)分为3个阶段,每个阶段都有一个2输入正排序和一个2输入倒排序两个网络工作,最后输出为4321 4.15 从8个数中找出最大的两个数的网络如图所示 (1)使用具体自然数N={1,2,N}验证之 (2)试解释其工作原理。
8 8 7 7 6 5 4 3 2 1 Comp11 Comp12 Comp7 Comp8 Comp9 Comp10 Comp5 Comp6 Comp1 Comp2 Comp3 Comp4 (2)
分为4个阶段,第一阶段有两个2输入正排序,与两个2输入倒排序网络工作,第二阶段有4个2输入倒排序网络工作,第三阶