題目列表(包括答案和解析)
題型1:求最大公約數(shù)
例1.(1)用輾轉(zhuǎn)相除法求123和48的最大公約數(shù)?
(2)用更相減損來求80和36的最大公約數(shù)?
解析:(1)輾轉(zhuǎn)相除法求最大公約數(shù)的過程如下:(建立帶余除式)
123=2×48+27
48=1×27+21
27=1×21+6
21=3×6+3
6=2×3+0
最后6能被3整除,得123和48的最大公約數(shù)為3。
(2)分析:我們將80作為大數(shù),36作為小數(shù),執(zhí)行更相減損術(shù)來求兩數(shù)的最大公約數(shù)。執(zhí)行結(jié)束的準則是減數(shù)和差相等
更相減損術(shù):
因為80和36都是偶數(shù),要去公因數(shù)2。
80÷2=40,36÷2=18;
40和18都是偶數(shù),要去公因數(shù)2。
40÷2=20,18÷2=9
下面來求20與9的最大公約數(shù),
20-9=11
11-9=2
9-2=7
7-2=5
5-2=3
3-2=1
2-1=1
可得80和36的最大公約數(shù)為22×1=4。
點評:對比兩種方法控制好算法的結(jié)束,輾轉(zhuǎn)相除法是到達余數(shù)為0,更相減損術(shù)是到達減數(shù)和差相等。
例2.設(shè)計一個算法,求出840與1764的最大公因數(shù)。
解析:我們已經(jīng)學習過了對自然數(shù)的素因數(shù)分解的方法,下面的算法就是在此基礎(chǔ)上設(shè)計的。
解題思路如下:
首先對兩個數(shù)進行素因數(shù)分解:
840=23×3×5×7,1764=22×32×72,
其次,確定兩個數(shù)的公共素因數(shù):2,3,7。
接著確定公共素因數(shù)的指數(shù):對于公共素因數(shù)2,840中為23,1764中為22,應(yīng)取較少的一個22,同理可得下面的因數(shù)為3和7。
算法步驟:
第一步:將840進行素數(shù)分解23×3×5×7;
第二步:將1764進行素數(shù)分解22×32×72;
第三步:確定它們的公共素因數(shù):2,3,7;
第四步:確定公共素因數(shù)2,3,7的指數(shù)分別是:2,1,1;
第五步:最大公因數(shù)為22×31×71=84。
點評:質(zhì)數(shù)是除1以外只能被1和本身整除的正整數(shù),它應(yīng)該是無限多個,但是目前沒有一個規(guī)律來確定所有的質(zhì)數(shù)
題型2:秦九韶算法
例3.(2009福州模擬)如果執(zhí)行右面的程序框圖,那么輸出的 ( )
A.22 B.46 C. D.190
答案 C
2、(2009浙江卷理)某程序框圖如圖所示,該程序運行后輸出的的
值是 ( )
A. B. C. D.
[解析]對于,而對于,則
,后面是,不
符合條件時輸出的.
答案 A
4.進位制
(1)概念
進位制是一種記數(shù)方式,用有限的數(shù)字在不同的位置表示不同的數(shù)值。可使用數(shù)字符號的個數(shù)稱為基數(shù),基數(shù)為n,即可稱n進位制,簡稱n進制,F(xiàn)在最常用的是十進制,通常使用10個阿拉伯數(shù)字0-9進行記數(shù)。
對于任何一個數(shù),我們可以用不同的進位制來表示。比如:十進數(shù)57,可以用二進制表示為111001,也可以用八進制表示為71、用十六進制表示為39,它們所代表的數(shù)值都是一樣的。
一般地,若k是一個大于一的整數(shù),那么以k為基數(shù)的k進制可以表示為:
,
而表示各種進位制數(shù)一般在數(shù)字右下腳加注來表示,如111001(2)表示二進制數(shù),34(5)表示5進制數(shù)。
(2)進位制間的轉(zhuǎn)換
關(guān)于進位制的轉(zhuǎn)換,教科書上以十進制和二進制之間的轉(zhuǎn)換為例講解,并推廣到十進制和其它進制之間的轉(zhuǎn)換。這樣做的原因是,計算機是以二進制的形式進行存儲和計算數(shù)據(jù)的,而一般我們傳輸給計算機的數(shù)據(jù)是十進制數(shù)據(jù),因此計算機必須先將十進制數(shù)轉(zhuǎn)換為二進制數(shù),再處理,顯然運算后首次得到的結(jié)果為二進制數(shù),同時計算機又把運算結(jié)果由二進制數(shù)轉(zhuǎn)換成十進制數(shù)輸出。
非十進制數(shù)轉(zhuǎn)換為十進制數(shù)比較簡單,只要計算下面的式子值即可:
第一步:從左到右依次取出k進制數(shù)各位上的數(shù)字,乘以相應(yīng)的k的冪,k的冪從n開始取值,每次遞減1,遞減到0,即;
第二步:把所得到的乘積加起來,所得的結(jié)果就是相應(yīng)的十進制數(shù)。
十進制數(shù)轉(zhuǎn)換成非十進制數(shù)
把十進制數(shù)轉(zhuǎn)換為二進制數(shù),教科書上提供了“除2取余法”,我們可以類比得到十進制數(shù)轉(zhuǎn)換成k進制數(shù)的算法“除k取余法”。
非十進制之間的轉(zhuǎn)換
一個自然的想法是利用十進制作為橋梁。教科書上提供了一個二進制數(shù)據(jù)與16進制數(shù)據(jù)之間的互化的方法,也就是先有二進制數(shù)轉(zhuǎn)化為十進制數(shù),再由十進制數(shù)轉(zhuǎn)化成為16進制數(shù)。
7.將新數(shù)據(jù)列中的第7個數(shù)97與右邊相鄰的數(shù)49進行比較,因為49<97,97應(yīng)下沉,所以順序改變,得到新的數(shù)據(jù)列:
{38,49,65, 76, 13,97, 49,27}
我們把上述過程稱為一趟排序。其基本特征是最大的數(shù)據(jù)沉到底,即排在最左邊位置上的數(shù)據(jù)是數(shù)組中最大的數(shù)據(jù)。反復執(zhí)行上面的步驟,就能完成排序工作,排序過程不會超過7趟。這種排序的方法稱為冒泡排序。
上面的分析具有一般性,如果數(shù)據(jù)列有n個數(shù)據(jù)組成,至多經(jīng)過n-1趟排序,就能完成整個排序過程
6.將新數(shù)據(jù)列中的第6個數(shù)97與右邊相鄰的數(shù)27進行比較,因為27<97,97應(yīng)下沉,所以順序改變,得到新的數(shù)據(jù)列:
{38,49,65, 76, 13,97,27,49}
5.將新數(shù)據(jù)列中的第5個數(shù)97與右邊相鄰的數(shù)13進行比較,因為13<97,97應(yīng)下沉,所以順序改變,得到新的數(shù)據(jù)列:
{38,49,65, 76, 13,97,27,49}
4.將新數(shù)據(jù)列中的第4個數(shù)97與右邊相鄰的數(shù)76進行比較,因為76<97,97應(yīng)下沉,所以順序不變,得到新的數(shù)據(jù)列:
{38,49,65, 76,97,13,27,49}
3.將新數(shù)據(jù)列中的第3個數(shù)65與右邊相鄰的數(shù)97進行比較,因為97>65,所以順序不變,得到新的數(shù)據(jù)列:
{38,49,65,97,76,13,27,49}
2.將新數(shù)據(jù)列中的第2個數(shù)49與右邊相鄰的數(shù)65進行比較,因為65>49,所以順序不變,得到新的數(shù)據(jù)列:
{38,49,65,97,76,13,27,49}
1.將第1個數(shù)與右邊相鄰的數(shù)38進行比較,因為38<49,49應(yīng)下沉,即向右移動,所以交換他們的位置,得到新的數(shù)據(jù)列:
{38,49,65,97,76,13,27,49}
湖北省互聯(lián)網(wǎng)違法和不良信息舉報平臺 | 網(wǎng)上有害信息舉報專區(qū) | 電信詐騙舉報專區(qū) | 涉歷史虛無主義有害信息舉報專區(qū) | 涉企侵權(quán)舉報專區(qū)
違法和不良信息舉報電話:027-86699610 舉報郵箱:58377363@163.com