付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
算法:歐幾里德與最大公約數(shù)任務(wù)嘗試編制程序來求解兩個(gè)整數(shù)的最大公約數(shù),綜合運(yùn)用前面學(xué)習(xí)過的分支結(jié)婚的算法和循環(huán)結(jié)構(gòu)的算法。歐幾里得,(約公元前 330-275年),古希臘數(shù)學(xué)家。其著作《幾何原本》聞名于世, 2000多年來都被看作學(xué)習(xí)幾何的標(biāo)準(zhǔn)課本,所以稱歐幾里德為幾何之父。 歐幾里得將公元前七世紀(jì)以來希臘幾何積累起來的既豐富又紛紜的龐雜結(jié)果整理在一個(gè)嚴(yán)密統(tǒng)一的體系中, 從原始定義開始,列出條公設(shè),通過邏輯推理,演繹出一系列定理和推論,從而建立了被稱為歐幾里得幾何學(xué)的第一個(gè)公理化數(shù)學(xué)體系。一、輾轉(zhuǎn)相除法歐幾里得在《幾何原本》第七卷中,提出的計(jì)算最大公約數(shù)的輾轉(zhuǎn)相除法至今仍在使用,也是基礎(chǔ)數(shù)學(xué)的一項(xiàng)基本內(nèi)容。這種方法比一般人們使用的窮舉法要簡便、快捷得多,所以“輾轉(zhuǎn)相除法”又稱為歐幾里德算法。所謂“輾轉(zhuǎn)相除法”是指對(duì)于任何兩個(gè)自然數(shù)a、b,當(dāng)a>b時(shí),活動(dòng)建議a=q*b+r。其中,q是b除a得到的部分商,r是a除以b后得到的余請(qǐng)說出用數(shù)。顯然,當(dāng)r等于0時(shí),b就是a、b的最大公約數(shù)。否則,a、b窮舉法求最大的最大公約數(shù)就等于b、r的最大公約數(shù),這是因?yàn)閍與b的約數(shù)也一公約數(shù)的一般定是b與r的約數(shù)。而將b作為新的除式中的a,r作為新的除式中的算法。b,這樣反復(fù)求約數(shù),直至r等于0,這時(shí)的b就是原先的a和b的最大公約數(shù)。下面,我們就編制一個(gè)小程序運(yùn)用“輾轉(zhuǎn)相除法”來求兩個(gè)整數(shù)的最大公約數(shù)。二、輾轉(zhuǎn)相除法的算法流程圖開始輸入正整數(shù) a輸入正整數(shù) bNo
Yesa>b?x=b
x=ay=a y=bNoy不等于0嗎?Yesr=x除以y的余數(shù)x=yy=rNo輸出x結(jié)束從流程圖中我們可以看出,首先輸入兩個(gè)自然數(shù)
a和
b。然后,通過分支判斷,將較大的數(shù)賦值給
x,較小的數(shù)賦值給
y。接下來,使用一個(gè)“當(dāng)”型循環(huán)結(jié)構(gòu),先判斷
y(y是上次除式的余數(shù),下次除式的除數(shù))是否為
0,如果為
0說明上次除式的除數(shù)(上次除式的 y就是下次除式的 x)就是原來 x和y的最大公約數(shù)。那么,直接退出循環(huán),輸出最大公約數(shù) x。如果不為0,則進(jìn)入循環(huán)體,計(jì)算 x除以y的余數(shù),將余數(shù)賦值給r,再將本次除式除數(shù) y的值賦值給作為下次除式被除數(shù)的變量 x,將本次除式余數(shù)r的值賦值給作為下次除式除數(shù)的變量y。然后,重新回到“當(dāng)”型循環(huán)的入口。三、程序?qū)崿F(xiàn)范例:我用 VB編寫程序?qū)崿F(xiàn)這個(gè)算法。程序中用到了一個(gè)循環(huán)語句、一個(gè)分支語句、兩個(gè)輸入語句、一個(gè)輸出語句。1)建立窗體和輸出、命令按鈕組件對(duì)象。2)編寫“Command1”觸發(fā)的程序代碼。在“PrivateSubcommand1_click()”和“EndSub”之間輸入以下的程序代碼。DimaAsLong,bAsLong,rAsLong,xAsLong,yAsLonga=Text1.Textb=Text2.TextIfa>=bThenx=ay=bElsex=by=aEndIfDoWhiley<>0r=xModyx=yy=rLoopLabel1.Caption=x第一行,定義了 5個(gè)長整型變量 a、b、r、x和y。第二行,通過文本輸入框獲取自然數(shù) a。第三行,通過文本輸入框獲取自然數(shù) b。第四行至第十行,通過雙分支條件語句,將 a、b中較大的數(shù)賦值給變量 x,較小的值賦值給變量 y。第十一行,判斷 y是否等于 0,使用的條件表達(dá)式是“ y<>0”。如果條件成立,則繼續(xù)執(zhí)行循環(huán)體第十二行的操作。 否則,結(jié)束循環(huán),執(zhí)行Loop語句的下一行語句,即第十六行。
活動(dòng)建議嘗試畫出用窮舉法求最大公約數(shù)的算法流程圖。第十二行,將 x除以y的余數(shù)賦值給變量 r。第十三行,將 y的值賦值給變量 x。第十四行,將 r的值賦值給變量 y。第十五行,在Loop語句處,程序無條件轉(zhuǎn)向循環(huán)語句的入口 “DoWhile”語句。重新進(jìn)行條件判斷。第十六行,將x的值賦值給文本標(biāo)簽 Label1的caption屬性,用于輸出最大公約
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 五保供養(yǎng)培訓(xùn)課件
- 2026年劇本殺運(yùn)營公司行業(yè)規(guī)范遵守管理制度
- 幼兒園開展戶外游戲活動(dòng)促進(jìn)兒童社交能力發(fā)展課題報(bào)告教學(xué)研究課題報(bào)告
- 2026年無人駕駛汽車安全報(bào)告
- 2025年社區(qū)養(yǎng)老服務(wù)培訓(xùn)基地建設(shè)與養(yǎng)老行業(yè)人才培養(yǎng)機(jī)制可行性研究報(bào)告
- 2026年醫(yī)療物聯(lián)網(wǎng)技術(shù)應(yīng)用報(bào)告
- 普通高中課程方案和課程標(biāo)準(zhǔn)變化的時(shí)代價(jià)值與教師應(yīng)對(duì)
- 眼巢護(hù)理基礎(chǔ)理論培訓(xùn)
- 2026及未來5年中國智能化工程行業(yè)市場(chǎng)動(dòng)態(tài)分析及發(fā)展趨向研判報(bào)告
- 2025年韓國金融科技監(jiān)管政策變化分析報(bào)告
- 人教版數(shù)學(xué)四年級(jí)上冊(cè)期末測(cè)試卷及答案 (共八套)-2
- 淮安市2022-2023學(xué)年七年級(jí)上學(xué)期期末道德與法治試題【帶答案】
- 大轉(zhuǎn)爐氧槍橡膠軟管和金屬軟管性能比較
- 四川省內(nèi)江市2023-2024學(xué)年高二上學(xué)期期末檢測(cè)生物試題
- 02-廢氣收集系統(tǒng)-風(fēng)管設(shè)計(jì)課件
- 2022ABBUMC100.3智能電機(jī)控制器
- 天津東疆我工作圖0718
- GB/T 19367-2022人造板的尺寸測(cè)定
- 北京春季化學(xué)會(huì)考試卷及答案
- 數(shù)學(xué)建模插值與擬合
- GB/T 34528-2017氣瓶集束裝置充裝規(guī)定
評(píng)論
0/150
提交評(píng)論