版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)算法設(shè)計(jì)與分析第1章概述例1.1求兩個(gè)正整數(shù)的最大公約數(shù)方法一:利用質(zhì)因數(shù)分解法求解最大公約數(shù),其具體步驟描述如下:(1)輸入兩個(gè)正整數(shù)a和b。(2)將a和b分別進(jìn)行質(zhì)因數(shù)分解,得到它們的所有質(zhì)因數(shù)的乘積形式。(3)將a和b中相同的所有質(zhì)因數(shù)乘積計(jì)算出來(lái),得到的結(jié)果即為a和b的最大公約數(shù)。若a或b無(wú)質(zhì)因數(shù)(除1和該數(shù)本身外),則最大公約數(shù)為1。例1.1求任意兩個(gè)正整數(shù)的最大公約數(shù)以具體計(jì)算為例,假設(shè)需要求解的兩個(gè)整數(shù)為42和28,42=2×3×7,28=2×2×7共同的質(zhì)因數(shù)2和7,因此,42和28的最大公約數(shù)為2×7=14利用方法一可以快速求出兩個(gè)整數(shù)的最大公約數(shù),但方法一的描述過(guò)程不能稱為一個(gè)正真意義上的算法,因?yàn)榈?2)步?jīng)]有明確如何將正整數(shù)a和b進(jìn)行質(zhì)因數(shù)分解,且質(zhì)因數(shù)分解是一個(gè)NP類問(wèn)題,目前尚未找到有效的解決方法。第(3)步也沒(méi)有明確定義在兩個(gè)質(zhì)因數(shù)序列中如何找到相同的質(zhì)因數(shù)元素。因此方法一描述不滿足算法的確定性和可行性。例1.1求任意兩個(gè)正整數(shù)的最大公約數(shù)方法二:利用蠻力窮舉法求解最大公約數(shù),具體步驟描述如下:(1)輸入a和b。(2)將a和b中的較小者賦值給r。(3)若a、b除以r的余數(shù)同時(shí)等于0,轉(zhuǎn)(5),否則往下執(zhí)行(4)。(4)執(zhí)行r=r-1,轉(zhuǎn)(3)。(5)輸出r,執(zhí)行結(jié)束。主要思想:是從兩個(gè)整數(shù)中較小者開始,去逐步尋找能被兩整數(shù)同時(shí)整除的數(shù),一旦發(fā)現(xiàn)則終止尋找,并將該數(shù)作為兩整數(shù)的最大公約數(shù)。例1.1求任意兩個(gè)正整數(shù)的最大公約數(shù)r=2842%28=14,28%28=0,r=28-1=2742%27=15,28%27=1,r=27-1=2642%26=16,28%26=2,r=26-1=2542%25=17,28%25=3,r=25-1=2442%24=18,28%24=4,r=24-1=2342%23=19,28%23=5,r=23-1=2242%22=20,28%22=6,r=22-1=2142%21=0,28%21=7,r=21-1=2042%20=2,28%20=8,r=20-1=1942%19=4,28%19=9,r=19-1=1842%18=6,28%18=10,r=18-1=1742%17=8,28%17=11,r=17-1=1642%16=10,28%16=12,r=16-1=1542%15=12,28%15=13,r=15-1=1442%14=0,28%14=0輸出r,結(jié)果為14。以具體計(jì)算為例,設(shè)a=42和b=28,則計(jì)算過(guò)程為:例1.1求任意兩個(gè)正整數(shù)的最大公約數(shù)在a=42,b=28的情況下,窮舉法運(yùn)行了15步才計(jì)算出結(jié)果。方法二窮舉法非常簡(jiǎn)單,計(jì)算過(guò)程易于理解,但窮舉法的效率非常低。例1.1求任意兩個(gè)正整數(shù)的最大公約數(shù)方法三:利用輾轉(zhuǎn)相除法(也稱歐幾里得算法)求解最大公約數(shù),具體步驟描述如下:(1)輸入兩個(gè)整數(shù)a和b。(2)若a<b則將a,b的值互換,以保持a是兩個(gè)整數(shù)中較大者,b為較小者。(3)將a除以b的余數(shù)賦值給r,若余數(shù)r等于0,則執(zhí)行(5),否則往下執(zhí)行(4)(4)將除數(shù)b賦值給a,將余數(shù)r賦值給b,轉(zhuǎn)(3)重復(fù)執(zhí)行(5)b為所求最大公約數(shù),輸出b,執(zhí)行結(jié)束。例1.1求任意兩個(gè)正整數(shù)的最大公約數(shù)以具體計(jì)算為例,設(shè)a=42和b=28,則計(jì)算過(guò)程為:r=42%28=14,a=28,b=14r=28%14=0輸出b,結(jié)果為14。在a=42,b=28的情況下,輾轉(zhuǎn)相除法只運(yùn)行了2步就計(jì)算出結(jié)果。例1.1求任意兩個(gè)正整數(shù)的最大公約數(shù)算法:輾轉(zhuǎn)相除法;輸入:兩個(gè)正整數(shù)a,b;
輸出:最大公約數(shù)Max_common_divisor(a,b)be
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上半年云南事業(yè)單位聯(lián)考文山州招聘143人考試備考題庫(kù)及答案解析
- 2026鄱陽(yáng)湖湖泊濕地綜合研究站實(shí)驗(yàn)支撐崗位招聘1人考試參考題庫(kù)及答案解析
- 2026年中核五〇四醫(yī)院?甘肅(蘭州)國(guó)際陸港中心醫(yī)院招聘司機(jī)筆試參考題庫(kù)及答案解析
- 2026年度黃山市歙縣事業(yè)單位統(tǒng)一公開招聘工作人員51名筆試參考題庫(kù)及答案解析
- 2026重慶龍璟紙業(yè)有限公司招聘1人筆試備考試題及答案解析
- 浙商銀行嘉興分行2026年一季度社會(huì)招聘考試備考題庫(kù)及答案解析
- 2026銅陵分行社會(huì)招聘筆試參考題庫(kù)及答案解析
- 2026年1月黑龍江大慶市肇州縣招聘公益性崗位人員35人筆試備考試題及答案解析
- 2026年房地產(chǎn)行業(yè)中的網(wǎng)絡(luò)營(yíng)銷效益評(píng)估
- 2026年地震后的建筑評(píng)估與修復(fù)
- 2025年高職室內(nèi)藝術(shù)設(shè)計(jì)(室內(nèi)設(shè)計(jì))試題及答案
- 2025課堂懲罰 主題班會(huì):馬達(dá)加斯加企鵝課堂懲罰 課件
- 建筑施工風(fēng)險(xiǎn)辨識(shí)與防范措施
- 浙江省杭州地區(qū)六校2026屆化學(xué)高一第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- 2025年CFA二級(jí)估值與財(cái)務(wù)報(bào)表分析試卷(含答案)
- 2025年宜昌化學(xué)真題試卷及答案
- 醫(yī)療質(zhì)量安全培訓(xùn)計(jì)劃
- GB/T 39693.4-2025硫化橡膠或熱塑性橡膠硬度的測(cè)定第4部分:用邵氏硬度計(jì)法(邵爾硬度)測(cè)定壓入硬度
- 2025年研究生招生學(xué)科專業(yè)代碼冊(cè)
- 2025吉林高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)管理委員會(huì)國(guó)有企業(yè)副總經(jīng)理招聘2人考試備考題庫(kù)(含答案)
- 民法典物業(yè)管理解讀課件
評(píng)論
0/150
提交評(píng)論