求兩個數的最大公約數

2021-08-18 00:14:35 字數 1259 閱讀 8994

一.比較兩個數中最小數,用x,y分別除以小於等於最小數的數,直到結果為0,這個數就是最大公約數。

二.輾轉相減法:將兩數相減 (大數減去小數)求差,如果差與小數不等,再以大數減去小數求差,直到出 現兩數相等為止。那麼相等的數,就是所求的兩個數的最大公約數。例如:求(792, 594)……表示792, 594的最大公約數。(792, 594) = (792-594, 594)=(198, 594) = (198, 594—198)=(198, 396) = (198, 396—198)=(198, 198),所以792, 594的最大公約數就是198。程式如下:

在while中使用break語句,用於永久終止迴圈,在執行完break語句後,將執行迴圈結束後應該執行的那條語句。三.輾轉相除法:設兩數為a、b(a>b),求a和b最大公約數(a,b)的步驟如下:用a除以b,得a÷b=q,,,r(0≤r)。若r=0,則(a,b)=b;若r≠0,則再用b除以r,得b÷r=q,,,r(0≤r).若r=0,則(a,b)=r,若r≠0,則繼續用r除以r,如此下去,直到能整除為止。其最後乙個餘數為0的除數即為(a, b)最大公約數。例:792/594=1,,,198,594/198=3,,,0,則其最大公約數為198.

#include#includeint main()

else

}int d = x == 0 ? y : x;

printf("%d\n", d);

system("pause");

return 0;

}



求兩個數最大公約數

題目 寫乙個程式,求兩個正數的最大公約數。如1100100210001,120200021,求其最大公約數 分析 設兩個數分別為x,y 求其最大公約數f x,y 如果有x 2 0而y 2不等於0,那麼可以 約簡為f x 2,y 同樣道理適用於y 如果x與y都是偶數,那麼最大公約數可以為f x 2,y...

求兩個數的最大公約數

求公約數有多種方法,在這主要介紹兩種方法。1 更相減損之術 以兩數中較大的數減去較小的數,獲得的差與原先較小的數構成新的一對數,在以大的數減去小的數,依次迴圈。用同樣的方法操作,直至產生一對相等的數為止,該數即為最大公約數。include include intmain while n 0 if a...

求兩個數的最大公約數

下面用兩種方法求兩個數的最大公約數 第一種,用遞減迴圈從較小的數開始到0依次查詢能同時整除兩個數的數,則這個數就為這兩個數的最大公約數,如下 include include int main else for i tmp i 0 i system pause return 0 第二種方法,輾轉相除法...