1.相減法
演算法如下:
(1)如果a>b,a=a-b;
(2)如果a(3)如果a=b,a或者b就是這兩個數的最大公約數
(4)如果a!=b,則再執行(1)或(2)。
**如下:
int xjf(int a,int b)
else if(a2.輾轉相除法
演算法如下:
(1)對於已知的兩個數a,b
(2)a除以b餘數r;
(3)若r=0,則n就是所求的最大公約數,否則執行(4);
(4)令a=b,b=r;重複執行(4);
**如下:
int xcf(int a,int b)
return b;
}3.窮舉法
演算法如下:
(1)定義c;
(2)如果a>b,則c=b;
(3)如果a(4)如果a%c!=0||b%c!=0,則執行c--;
(5)如果a%c==0||b%c==0,則c為最大公約數
**如下:
int qjf(int a,int b)
return c;
}
最大公約數三種方法
一 輾轉相除法 輸入兩個數a和b,如果a和b都小於等於0,則結束。否則,進入迴圈 c b a,b a,a c 當a等於0時,結束迴圈,輸出最大公約數b.二 輾轉相減法 輸入兩個數a和b,當a不等於b時,進入迴圈 當a b時,a a b 否則,b b a 直到a b時,結束迴圈,輸出最大公約數a。三 ...
(java)求m,n最大公約數的三種方法
先學下英語 最大公約數gcm greatest common measure 最小公倍數lcm lowest common multiple 相減求公因數 public intgetgcm int m int n if m n 最大公約數是 m return m 歐幾里德演算法 遞迴 public ...
用三種演算法求最大公約數
窮舉法 將兩個數a,b中較小的值賦給q,然後a除q,b也除q,若兩者的餘數同時為0 時,那麼q就是兩者的最大公約數。若不等於0,則將q 1,然後繼續a除q,b 除q,直至餘數同時為0。include void qongjufa printf 最大公約數為 d n m,n,q 相除法 將兩數ab相除,...