關於怎麼求最大公約數,我總結了兩種方法!
一種是取餘求最大公約數
另一種是相減求最大公約數
下面第一種先介紹一下取餘法,**如下:
這個方法的思路就是對兩個數字進行迴圈求餘,只要當餘數不為0時就一直進行迴圈,餘數為0時推出迴圈,輸出除數的值,此時除數的值就是最大公約數,下面我會用乙個例子來說明一下;
比如有兩個數字24和34
m % n = yu
24 % 34 = 24
34 % 24 = 10
24 % 10 = 4
10 % 4 = 2
4 % 2 = 0
注意:寫**時要將yu放在「=」左邊,因為「=」左邊只能為左值。
注意:我這個**是在linux環境下寫的,要在c-free中執行會有亂碼,只要將中文換掉即可。
#include
intmain()
while
(m%n!=0)
printf
("最大公約數是:%d\n"
,n);
return0;
}
另一種方法為相減法,**如下:
這個方法的思路就是對兩個數字進行迴圈相減,只要兩個數相減不為0時則一直迴圈,相減為0時則推出迴圈,輸出被減數的值,此時被減數或者減數都為最大公約數,例子如下:
還是24和34
m - n = res
34 - 24 = 10
24 - 10 = 14
14 - 10 = 4
10 - 4 = 6
6 - 4 = 2
4 - 2 = 2
2 - 2 =0
#include
intmain()
else
printf
("最大公約數為:%d\n"
,big);}
return0;
}
求最大公約數兩種方法
說是兩種方法,其實他們本質是一樣的,只是一種用遞迴,另一種是迴圈的改寫罷了。遞迴演算法 最大公約數 param num1 第乙個數 param num2 第二個數 return 返回最大公約數 public static long gcb long num1,long num2 else 迴圈演算法...
最大公約數問題的兩種方法
最大公因數,又稱最大公約數。是指 n 2 個自然數 a1,a2,an 的最大公因數。通常有兩種表示方式 它們的所有公因數中最大的那乙個 如果自然數 m 是這 n 個自然數的公因數,且這 n 個數的任意公因數都是 m 的因數,就稱 m 是這 n 個數的最大用因數。通常國內的記述方式為 a1,a2,an...
求最大公約數方法
從兩個數a和b中的較小數開始逐個減小1,尋找能整除a和b的整數。第乙個找到的整數即整數a和b的最大公約數。int getpublicmaxnum int a,int b 先用小的乙個數除大的乙個數,得第乙個餘數 再用第乙個餘數除小的乙個數,得第二個餘數 又用第二個餘數除第乙個餘數,得第三個餘數 這樣...