習題3 6求兩整數的最大公約數和最小公倍數

2021-06-26 15:58:48 字數 813 閱讀 3156

/*

如果有乙個自然數a能被自然數b整除,則稱a為b的倍數,b為a的約數

最大公約數:指兩個或多個整數共有約數中最大的乙個

輾轉相除法(歐幾里德演算法)

例如,求(319,377):

∵ 319÷377=0(餘319)

∴(319,377)=(377,319);

∵ 377÷319=1(餘58)

∴(377,319)=(319,58);

∵ 319÷58=5(餘29),

∴ (319,58)=(58,29);

∵ 58÷29=2(餘0),

∴ (58,29)= 29;

∴ (319,377)=29

求幾個數的最大公約數,可以先求出其中任意兩個數的最大公約數,

再求這個最大公約數與第三個數的最大公約數

最小公倍數:對於兩個整數來說,指該兩數共有倍數中最小的乙個

最小公倍數=兩數的乘積/最大公約數

*/#include using namespace std;

int div(int a,int b)

return b;

}int main() {

int number1,number2;

cout<<"please enter two numbers"<>number1>>number2;

int x=div(number1,number2);//最大公約數

int y=number1*number2/x;

cout《這題中可以學到的是

1.輾轉相除法求最大公約數

2.最小公倍數=兩數的乘積/最大公約數

求最大公約數

最新用了三種演算法實現了求最大公約數的演算法,用的c 寫的,最大公約數也是我們生活中常見的問題 1 窮舉法 主要 如下 if a b for i 1 i a i 演算法分析 窮舉法先將a,b兩值比較大小並且互換,再進行與各種數的整除,如果這個數能同時被a,b整除,那麼這個數就為最大公約數,這種演算法...

求最大公約數

暴力列舉法很簡單,從較小整數的一班開始,試圖找到乙個合適的整數i,檢查這個整數i是否被a和b同時整除 暴力列舉法求最大公約數 param a param b return public static int getgreatestcommondivisor v1 int a,int b for in...

求最大公約數

1.輾轉相除法 a.具體思路 兩個正整數a和b a b 它們的最大公約數等於a除以b的餘數c和b之間的最大公約數。比如10和25,25除以10商2餘5,那麼10和25的最大公約數,等同於10和5的最大公約數。有點類似動態規劃的思想,逐步減小問題規模,最後求到問題的解。int test1 int a,...