最大公約數和最小公倍數

2021-08-03 07:26:23 字數 920 閱讀 4780

最小公倍數:

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

最大公約數

(1)輾轉相除法

有兩整數a和b:

① a%b得餘數c

② 若c=0,則b即為兩數的最大公約數

③ 若c≠0,則a=b,b=c,再回去執行①

例如求27和15的最大公約數過程為:

15÷12餘3、12÷3餘0、所以,3為15和12的最大公約數

注意:寫程式之前首先要判斷,即用最大的數除以小的數

例如:

#include

void main()

c=a%b;

while(c!=0)

cout

<}

(2)相減法

有兩整數a和b:

① 若a>b,則a=a-b

② 若a

#includevoid main(void)

cout<<;

cout<;

}

(3)窮舉法

兩個整數m和n。

1、for迴圈 i=1

2、若m,n能同時被i整除,則t=i

3、 i++

4、若 i <= m(或n),則再回去執行2

5、 若 i > m(或n),則t即為最大公約數,結束

思考

1、 i= m(或n)

2、 若m,n能同時被i整除,則i即為最大公約數,

結束 3、 i–,再回去執行2

例如:

#include

void main(void)

最大公約數 最小公倍數

求最大公約數最直接的辦法是從兩數中較小數與2之間的所有整數中乙個乙個的找。但這個方法有點浪費。有兩種有名的方法 1.輾轉相除法2.更相減損之術這兩種方法比較有名,而且現在人教版的高中數學中已經介紹了這兩種方法。下面這個是第2個,因為它只需要加減法就可以,效率高。int maxfactor unsig...

最小公倍數 最大公約數

求最小公倍數演算法 最小公倍數 兩整數的乘積 最大公約數 求最大公約數演算法 1 輾轉相除法 有兩整數a和 b a b得餘數c 若c 0,則 b即為兩數的最大公約數 若c 0,則 a b,b c,再回去執行 例如求27和 15的最大公約數過程為 27 15 餘12 15 12餘3 12 3餘0 因此...

最大公約數,最小公倍數

兩個數最大公約數 輾轉相除法 在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。兩個整數的最大公約數是能夠同時整除它們的最大的正整數。輾轉相除法基於如下原理 兩個整數的最大公約數等於其中較小的數和兩數的差的最大公約數。例如 用 a,b 來表示a和b的最大公約數。已知a,b,c為正整數...