7]  1  3  12  8  4  9  10

[7  1]  3  12  8  4  9  10

[7  3  1]  12  8  4  9  10

[12  7  3   1]  8  4  9  10

[12  8  7   3  1]  4  9  10

[12  8  7   4   3  1]  9  10

[12  9  8   7   4  3  1]  10

[12  10  9   8   7   4  3  1] 

冒泡排序

7
 
7
 
7
 
7
 
7
 
7
 
7
 
7
1
1
3
 
3
 
3
 
3
 
3
 
3
3
3
1
 
12
 
12
 
12
 
12
 
12
12
12
12
 
1
 
8
 
8
 
8
 
8
8
8
8
 
8
 
1
 
4
 
4
 
4
4
4
4
 
4
 
4
 
1
 
9
 
9
9
9
9
 
9
 
9
 
9
 
1
 
10
10
10
10
 
10
 
10
 
10
 
10
 
 

第一趟

7
 
7
 
12
 
12
 
12
 
12
3
 
12
 
8
 
8
 
9
 
10
12
 
8
 
7
 
9
 
10
 
9
8
 
4
 
9
 
10
 
8
 
8
4
 
9
 
10
 
7
 
7
 
7
9
 
10
 
4
 
4
 
4
 
4
10
 
3
 
3
 
3
 
3
 
3
1
 
1
 
1
 
1
 
1
 
1

第2趟  第3趟   第4趟   第5趟  第6趟

点评:直接插入法和冒泡法排序是常见的排序方法,通过该例,我们对比可以发现,直接插入排序比冒泡排序更有效一些,执行的操作步骤更少一些.

例6.给出以下四个数:6,-3,0,15,用直接插入法排序将它们按从小到大的顺序排列,用冒泡法将它们按从大到小的顺序排列.

分析:不论从大到小的顺序还是按从大到小的顺序,都可按两种方法的步骤进行排序。

解析:

直接插入排序法:

题型1:求最大公约数

例1.(1)用辗转相除法求123和48的最大公约数?

(2)用更相减损来求80和36的最大公约数?

解析:(1)辗转相除法求最大公约数的过程如下:(建立带余除式)

 123=2×48+27

 48=1×27+21

 27=1×21+6

 21=3×6+3

 6=2×3+0

最后6能被3整除,得123和48的最大公约数为3。

(2)分析:我们将80作为大数,36作为小数,执行更相减损术来求两数的最大公约数。执行结束的准则是减数和差相等.

更相减损术:

因为80和36都是偶数,要去公因数2。

80÷2=40,36÷2=18;

40和18都是偶数,要去公因数2。

40÷2=20,18÷2=9

下面来求20与9的最大公约数,

20-9=11

11-9=2

9-2=7

7-2=5

5-2=3

3-2=1

2-1=1

可得80和36的最大公约数为22×1=4。

点评:对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等。

例2.设计一个算法,求出840与1764的最大公因数。

解析:我们已经学习过了对自然数的素因数分解的方法,下面的算法就是在此基础上设计的。

解题思路如下:

首先对两个数进行素因数分解:

840=23×3×5×7,1764=22×32×72

其次,确定两个数的公共素因数:2,3,7。

接着确定公共素因数的指数:对于公共素因数2,840中为23,1764中为22,应取较少的一个22,同理可得下面的因数为3和7。

算法步骤:

第一步:将840进行素数分解23×3×5×7;

第二步:将1764进行素数分解22×32×72

第三步:确定它们的公共素因数:2,3,7;

第四步:确定公共素因数2,3,7的指数分别是:2,1,1;

第五步:最大公因数为22×31×71=84。

点评:质数是除1以外只能被1和本身整除的正整数,它应该是无限多个,但是目前没有一个规律来确定所有的质数.

题型2:秦九韶算法

例3.(2009福州模拟)如果执行右面的程序框图,那么输出的           (    )

A.22       B.46       C.      D.190

答案  C

2、(2009浙江卷理)某程序框图如图所示,该程序运行后输出的的值是      (   )

A.    B.      C.     D.

[解析]对于,而对于,则 

,后面是,不 

符合条件时输出的

答案 A

 0  390077  390085  390091  390095  390101  390103  390107  390113  390115  390121  390127  390131  390133  390137  390143  390145  390151  390155  390157  390161  390163  390167  390169  390171  390172  390173  390175  390176  390177  390179  390181  390185  390187  390191  390193  390197  390203  390205  390211  390215  390217  390221  390227  390233  390235  390241  390245  390247  390253  390257  390263  390271  447090 

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网