怎樣求兩個數的公約數 具體舉個例子 謝謝

2023-03-05 02:55:07 字數 4684 閱讀 8623

1樓:匿名使用者

最大公約數 將它們分解質因數,找出其中相同的質因數,再將它們相乘,就得到了最大公約數,如果兩數的質因數中,沒有一個是相同的,那麼它們的最大公約數就是1. 比如(56,42) 56=7×2×2×2 42=7×2×3 其中7,2是相同的,那麼它們的最大公約數就是2×7=14

如何求兩個數的所有公約數

2樓:不朽神盾

把兩個數分別寫成質數相乘的形式,比如求24和36的公約數,24=2×2×2×3,36=2×2×3×3,則重複的三個數(2,2,3)從其中挑選的任意數量的數字相乘的結果都是他們的公約數。有2,3,4,6,12。

怎麼求最大公約數.舉幾個簡單的例子

3樓:匿名使用者

如果數小bai的話,用列du舉法即可。

如:(zhi12,18)

12的正約數dao:1,2,3,4,6,1218的正約數:1,2,3,6,9,18

所以專(12,18)=6

如果數較屬大的話用輾轉相除法:按以下式子迴圈下去:較大的數=較小的數×a1+n1,較小的數=n1×a2+n2,n1=n2×a3+n3...

n(k-2)下標=n(k-1)下標×ak下標+nk下標,直到nk=0時結束,這兩個數的最大公約數為n(k-1)下標。

例如:(12345,765)

所以(12345,765)=15

純手打,如有錯誤請指出,無錯誤望採納。

求兩個自然數的最大公約數有哪些方法?

4樓:匿名使用者

方法如下:

1、質因數分解法。

把每個數分別分解質因數,再把各數中的全部公有質因數提取出來連乘,所得的積就是這幾個數的最大公約數。

例如:求24和60的最大公約數,先分解質因數,得24=2×2×2×3,60=2×2×3×5,24與60的全部公有的質因數是2、2、3,它們的積是2×2×3=12,所以,(24,60)=12。

2、短除法。

短除法求最大公約數,先用這幾個數的公約數連續去除,一直除到所有的商互質為止,然後把所有的除數連乘起來,所得的積就是這幾個數的最大公約數。

例如:求19和152,13和273的最大公因數.因為152÷19=8,273÷13=21.(19和13都是質數.)所以19和152的最大公因數是19,13和273的最大公因數是13.

3、輾轉相除法。

求幾個數的最大公約數,可以先求出其中任意兩個數的最大公約數,再求這個最大公約數與第三個數的最大公約數,依次求下去,直到最後一個數為止。最後所得的那個最大公約數,就是所有這些數的最大公約數。

4、更相減損法。

更相減損法:也叫更相減損術,是出自《九章算術》的一種求最大公約數的演算法,它原本是為約分而設計的,但它適用於任何需要求最大公約數的場合。

5、查詢因數法。

先分別找出每個數的所有因數,再從兩個數的因數中找出公有的因數,其中最大的一個就是最大公因數.

例如:求12和30的最大公因數。

12的因數有:1、2、3、4、6、12;

30的因數有:1、2、3、5、6、10、15、30。

12和30的公因數有:1、2、3、6,其中6就是12和30的最大公因數。

什麼叫公約數,公倍數,最好舉幾個例子~

5樓:匿名使用者

公約數,亦稱「公因數」。它是幾個整數同時均能整除的整數。如果一個專整數同時是幾。

個整數屬的約數,稱這個整數為它們的「公約數」;公約數中最大的稱為最大公約數。

例如:12和15的公約數有1,3,最大公約數就是3。再舉個例子,30和40,它們的公約數有1,2,5,10,最大公約數是10。

公倍數,指在兩個或兩個以上的自然數中,如果它們有相同的倍數,這些倍數就是它們的公倍數。這些公倍數中最小的,稱為這些整數的最小公倍數。

比如說:12和15,它們的公倍數是60,120,180,等等 在這些公倍數中最小的那一個就叫最小公倍數,就是60。

怎麼求兩個數的最大公約數和最小公倍數

6樓:濁酒一杯

最小公倍數怎麼求:兩個數的最大公約數和最小公倍數的求法和運算。

7樓:釁果昔韞

用短除法來做,除以他們相同的因數,把他們除成公因數只有1,然後把剩餘的兩個數相乘,就是他們的最大公因數。

如果兩個數互為質數(比如5和7),那麼那兩個的積就是他們的最大共因數。

8樓:刑夢沙傲晴

因數分解法:分別把兩個數做質因數分解,把相同質因數跳出來,取兩者較小的次冪乘起來,就是最大公約數。

兩個數的積除以最大公約數,就是最小公倍數。

9樓:萬宸宗政音景

用短除法求最大公約數,如果兩個數是質數,最小公倍數則是他們的乘積,否則是短除法所有的數的乘積。

10樓:

舉個例子 12 和 30

最大公約數=2x3=6

最小公倍數=2x3x2x5=60

11樓:匿名使用者

#include

int yue(int m,int n)

int bei(int m,int n)

void main()

d=yue(m,n);

e=bei(m,n);

printf("%d和%d的最大公約數是%d,%d和%d的最小公倍數是%d。",m,n,d,m,n,e);}

怎麼 超快速 求兩個超大數 的 公約數個數 比如 12456789123 和 792378236278 c++ 演算法 最好

12樓:匿名使用者

這個問題很簡單,分析如下:

1、兩個數的公約數的個數,與這兩個數最大公約數有關。

假設兩個數分別是m、n,最大公約數是x,設m=ax, n=bx那麼a和b最大公約數為1。

2、把最大公約數分解成素數的乘積,假設等於a1,a2,..an共計n個素數的乘積。

3、根據分解出的素數,排列組合原理計算公約數個數,需要考慮重複的素數。

注:可以使用短除法求最大公約數。

13樓:匿名使用者

先求最大公約數,然後對最大公約數分解質因數。

求最大公約數可以輾轉相減或輾轉相除,基本不怎麼需要時間,對大數分解質因數可以做一個一定範圍內的質數表,然後從小到大挨個試,試到不能被繼續分解為止,這個有可能需要的時間略長,超大數大了可能就會慢,最後的結果是所有質因數的(次數+1)的乘積。

求最大公約數的約數個數就是用分解質因數做最快,因為試的次數少,而且最後結果容易計算,比如360=2^4×3^2×5^2,那它的約數個數就是(4+1)*(2+1)*(2+1)=45,840=2*2*2*3*5*7,那它的約數個數就是(3+1)*(1+1)(1+1)(1+1)=32,計算的原理是排列組合。hernak2011應該也是這麼個意思。

14樓:匿名使用者

從演算法來說,就是用大的數減去小的數,然後看能不能同時整除其中兩個數,可以的話就是最大公約數了。

舉例,求50和35的:,15不能整除35,繼續;,20大於15,繼續;,5能同時整除15和20,故5是最大公約數。

**懶得寫了。

ps:我好像看錯問題了,不過從效率方面來說這個演算法是最快的。

15樓:dzs經典攝影

求w7旗艦版的系統金鑰,請發到,謝謝!

16樓:匿名使用者

公約數個數還是隻求最大公約數?

請問最大公約數和最小公倍數如何求?請詳細講,再舉幾個例子說明一下,謝謝!

17樓:匿名使用者

最大公約數用輾轉相除法,即歐幾里得除法。如:

345和987

出現0就結束,所求為被乘數3。

最小公倍數似乎沒有一般性的可操作的方法,只有先分解質因數。如:60和14

所求為2*2*3*5*7=420.

18樓:流穿蜂

例81和39

因為81=3*3*3*3 39=3*13由於兩個數因式分解後都有公因式3,所以他們的最大公約數就是3,由於兩個數因式分解有3相同,所以最大公倍數就是3*3*3*3*13.(有一個3是共有的,可省略)最簡便的有三種情況:

1.互質關係:1是最大公倍數;兩數積是最小公倍數2.

倍數關係:小的那個數是最大公倍數;大的那個數是最小公倍數3.普通關係(即不是以上兩種關係的):

分解質因數,求最大公倍數;用大數翻倍法,就是把較大的數翻倍,可以整除較小的數的就是最小公倍數。

如何求三個數的最大公約數

19樓:匿名使用者

先求兩個的,再用這兩個的最大公約數和第三個數一起求最大公約數舉個例子,例如:

先求(32,80)

即(32,80)=16

再求(16,200)

所以(16,200)=8

即(32,80,200)=8

20樓:環燦讓冰嵐

分三種情況:

1、當這三個數成倍數時,它們的最大公約數就是其中最小的那個數;

2、當這三個數是互質數時,它們的最大公因數就是1;

3、既不成倍數又不是互質數時,用短除法來求最簡單。用3個數公有的因數去除這3個數,再把所有的公因數乘起來。

最大公約數是15,則這兩個數分別是多少

兩個整數的最大公約數是15,最小公倍數是90,求這兩個數分別是多少?解 90 15 6 6 1x6 2x3 所以這兩個數分別是15和90,或30和45 兩個數的最大公約數是15,最小公倍數是360,這兩個數可能是多少 這兩bai個數可能是 15和360 或du 45和120 過程如下 給zhi360...

用輾轉相除法寫出求兩個自然數的最大公約數

input m,n dor m mod n m nn r loop until r 0 print mend 求兩個自然數的最大公約數有哪些方法?方法如下 1 質因數分解法 把每個數分別分解質因數,再把各數中的全部公有質因數提取出來連乘,所得的積就是這幾個數的最大公約數。例如 求24和60的最大公約...

利用fun函式,求m和n的最大公約數

演算法叫輾轉相除法 例如求m,n的最大公約數 m n p.q p是m n的商,q是m n就是m除以n的餘數。然後在讓 m n n q 在作上面的迴圈 m n p.q 如果n為0,則m就是所求的最大公約數。另外題目還利用了一個性質,就是最大公約數 最小公倍數 m n 所以最後才有 printf d d...