算法案例之求最大公約數(shù)課件_第1頁(yè)
算法案例之求最大公約數(shù)課件_第2頁(yè)
算法案例之求最大公約數(shù)課件_第3頁(yè)
算法案例之求最大公約數(shù)課件_第4頁(yè)
算法案例之求最大公約數(shù)課件_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

算法案例之求最大公約數(shù)求以下幾組正整數(shù)的最大公約數(shù)。(注:若整數(shù)m和n滿足n整除m,則(m,n)=n。用(m,n)來表示m和n的最大公約數(shù)。)(2)(24,16)(4)(72,8)(1)(18,30)(3)(63,63)(5)(301,133)解:2

18 24

用公有質(zhì)因數(shù)2除,3

9 12

用公有質(zhì)因數(shù)3除,3

4 3和4互質(zhì)不除了。得:18和24最大公約數(shù)是:2×3=6想一想,如何求8251與6105的最大公約數(shù)?例、求18與24的最大公約數(shù):8;8;6;63;7;短除法1謝謝你的關(guān)注2019-11-7開始i=m+1輸入:m,nm

MOD

i=0且n

MODi=0?i=i-1結(jié)束Y輸出:iNt=m,m=n,n=tNm>n?Y窮舉法窮舉法(也叫枚舉法)步驟:從兩個(gè)數(shù)中較小數(shù)開始由大到小列舉,直到找到公約數(shù)立即中斷列舉,得到的公約數(shù)便是最大公約數(shù)。2謝謝你的關(guān)注2019-11-7定理:已知m,n,r為正整數(shù),若m=nq+r(0≤r<n)(即r=m

MOD

n),則(m,n)=(n,r)。2019-11-73謝謝你的關(guān)注輾轉(zhuǎn)相除法分析:m=nq+rr=m-nq……

①……②例1、求8251和6105的最大公約數(shù)。(8251,6105)=(6105,2146)=(2146,1813)=(1813,333)=(333,148)=(148,37)=37解:8251=6105×1+21466105=2146

×2+18132146=1813

×1+3331813=333

×5+148333=148

×2+37148=37

×4練習(xí):用輾轉(zhuǎn)相除法求下列兩數(shù)的最大公約數(shù):2019-11-74謝謝你的關(guān)注(1)(225,135)(3)(72,168)45

(2)(98,196)

9824

(4)(153,119)

17次數(shù)456nr8251和6105的最大公約數(shù)解:8251=6105×1+21466105=2146

×2+18132146=1813

×1+3331813=333

×5+148333=148

×2+37148=37

×4(8251,6105)=(6105,2146)=(2146,1813)=(1813,333)=(333,148)=(148,37)=37關(guān)系式m=np+r中m,n,r得取值變化情況1

2

3m

8251

6105

21466105

2146

18132146

1813

3331813333148148333371482019-11-75謝謝你的關(guān)注370思考:輾轉(zhuǎn)相除直到何時(shí)結(jié)束?主要運(yùn)用的是哪種算法結(jié)構(gòu)?輾轉(zhuǎn)相除法是一個(gè)反復(fù)執(zhí)行直到余數(shù)等于0停止的步驟,這實(shí)際上是一個(gè)循環(huán)結(jié)構(gòu)輾轉(zhuǎn)相除法求兩個(gè)數(shù)的最大公約數(shù),其算法可以描述如下:①輸入兩個(gè)正整數(shù)m和n;②求余數(shù)r:計(jì)算m除以n,將所得余數(shù)存放到變量r中;③更新被除數(shù)和余數(shù):m=n,n=r。④判斷余數(shù)r是否為0:若余數(shù)為0則輸出結(jié)果,否則轉(zhuǎn)向第②步繼續(xù)循環(huán)執(zhí)行。如此循環(huán),直到得到結(jié)果。2019-11-76謝謝你的關(guān)注開始輸入:m,n結(jié)束m=nNr=0?Y輸出:mr=m

MOD

nn=r程序:INPUT

“m,n=”;m,nDOr=m

MOD

nm=nn=rLOOP

UNTIL

r=0PRINT

mEND2019-11-77謝謝你的關(guān)注更相減損術(shù)2019-11-78謝謝你的關(guān)注同理:a,b,c為正整數(shù),若a-b=c,則(a,b)=(b,c)?!案鄿p損術(shù)”(也是求兩個(gè)正整數(shù)的最大公約數(shù)的算法)步驟:第一步:任意給定兩個(gè)正整數(shù);判斷他們是否都是偶數(shù)。若是,則用2約簡(jiǎn);若不是則執(zhí)行第二步。第二步:以較大的數(shù)減較小的數(shù),接著把所得的差與較小的數(shù)比較,并以大數(shù)減小數(shù)。繼續(xù)這個(gè)操作,直到所得的減數(shù)和差相等為止,則這個(gè)等數(shù)就是所求的最大公約數(shù)。例、用更相減損術(shù)求98與63的最大公約數(shù)2019-11-79謝謝你的關(guān)注=

7所以,98和63的最大公約數(shù)等于7。(自己按照步驟求解)解:由于63不是偶數(shù),把98和63以大數(shù)減小數(shù),并輾轉(zhuǎn)相減。(98,63)=(63,35)=(35,28)=(28,7)98-63=3563-35=2835-28=728-7=2121-7=1414-7=7=(21,7)=(14,7)=(7,7)練習(xí):用更相減損術(shù)求下列兩數(shù)的最大公約數(shù):2019-11-710謝謝你的關(guān)注(2)(98,196)(1)(225,135)

45

98(3)(72,168)

24(4)(153,119)

17例用更相減損術(shù)求98與63的最大公約數(shù)解:由于63不是偶數(shù),把98和63以大數(shù)減小數(shù),并輾轉(zhuǎn)相減98-63=3563-35=2835-28=728-7=2121-7=1414-7=7所以,98和63的最大公約數(shù)等于7。(98,63)=(63,35)=(35,28)=(28,7)=(21,7)=(14,7)=(7,7)=7次數(shù)56a1

2

3

498

63

35

28

21

14b63

35

28

77735

28

21

147關(guān)系式a-b=c中a,b,c得取值變化情況11謝謝7你的關(guān)注2019-11c-7更相減損是一個(gè)反復(fù)執(zhí)行直到減數(shù)等于差時(shí)停止的步驟,這實(shí)際也是一個(gè)循環(huán)結(jié)構(gòu)思考:更相減損直到何時(shí)結(jié)束?運(yùn)用的是哪種算法結(jié)構(gòu)?12謝謝你的關(guān)注2019-11-7程序:INPUT

“a,b”;a,bi=0WHILE

a

MOD

2=0

AND

b

MOD

2=0a=a/2b=b/2i=i+1WENDDOIF

b>a

THENt=aa=bb=tEND

IFa=a-bLOOP

UNTIL

a=bPRINT

a*2^iEND開始輸入:a,ba=a/2,b=b/2Ya=a-bt=a,a=b,b=ta

MOD

2=0且b

MOD

2=0?a=b?Y輸出:a×2iNNNb>a?Yi=0i=i+113謝謝你的關(guān)注2019-11-7結(jié)束小

結(jié)2019-11-714謝謝你的關(guān)注輾轉(zhuǎn)相除法與更相減損術(shù)的區(qū)別:都是求最大公約數(shù)的方法,計(jì)算上輾轉(zhuǎn)相除法以除法為主,更相減損術(shù)以減法為主,計(jì)算次數(shù)上輾轉(zhuǎn)相除法計(jì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論