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...