matlab中求最大因数,matlab最大公约数 三种算法
算法設(shè)計(jì)與分析
11信本余啟盛 118632011004
一、上機(jī)目的及內(nèi)容
1.上機(jī)內(nèi)容
求兩個(gè)自然數(shù)m和n的最大公約數(shù)。
2.上機(jī)目的
(1)復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的相關(guān)知識(shí),實(shí)現(xiàn)課程間的平滑過(guò)渡;
(2)掌握并應(yīng)用算法的數(shù)學(xué)分析和后驗(yàn)分析方法;
(3)理解這樣一個(gè)觀點(diǎn):不同的算法能夠解決相同的問(wèn)題,這些算法的解題思路不同,復(fù)雜程度不同,解題效率也不同。
二、實(shí)驗(yàn)原理及基本技術(shù)路線圖
(1)至少設(shè)計(jì)出三個(gè)版本的求最大公約數(shù)算法;
(2)對(duì)所設(shè)計(jì)的算法采用大O符號(hào)進(jìn)行時(shí)間復(fù)雜性分析;
(3)上機(jī)實(shí)現(xiàn)算法,并用計(jì)數(shù)法和計(jì)時(shí)法分別測(cè)算算法的運(yùn)行時(shí)間;
(4)通過(guò)分析對(duì)比,得出自己的結(jié)論。
三、所用儀器、材料(設(shè)備名稱、型號(hào)、規(guī)格等或使用軟件)
1臺(tái)PC及VISUAL C++6.0軟件matlab .2008
四、實(shí)驗(yàn)方法、步驟(或:程序代碼或操作過(guò)程)
實(shí)驗(yàn)采用三種方法求最大公約數(shù)
1、連續(xù)整數(shù)檢測(cè)法。
2、歐幾里得算法
3、蠻力法(短除法)
根據(jù)實(shí)現(xiàn)提示寫代碼并分析代碼的時(shí)間復(fù)雜度:
算法一:連續(xù)整數(shù)檢測(cè)法。
CommFactor1
輸入:兩個(gè)自然數(shù)m和n
輸出:m和n的最大公約數(shù)
1.判斷m和n哪個(gè)數(shù)小,t=min(m,n)
2.如果m%t==0&&n%t==0 ,結(jié)束
2.1 如果t不是m和n的公因子,則t=t-1;
3. 輸出t ;
總結(jié)
以上是生活随笔為你收集整理的matlab中求最大因数,matlab最大公约数 三种算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【目标检测】1、基础内容
- 下一篇: matlab中globalsearch,