三種方法求最大公約數(c語言)僅供參考

2021-08-21 17:42:35 字數 567 閱讀 9930

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相除,...