求兩個數的最大公約數

2021-08-20 02:43:40 字數 948 閱讀 4351

在程式設計中,我們有時候需要求

兩個數的最大公約數

,接下來,我將介紹幾種常用的方法

(1)輾轉相除法

兩整數a和b:

① a%b得餘數c

② 若c=0,則b即為兩數的最大公約數,結束

③ 若c≠0,則a=b,b=c,再回去執行①

**:

#define _crt_secure_no_warnings 1

#include#include int main()

while (a%b != 0)

printf("最大公約數為:%d\n", b);

system("pause");

return 0;

}

(2)相減法

兩整數a和b:

① 若a>b,則a=a-b

② 若a

③ 若a=b,則a(或b)即為兩數的最大公約數,結束

④ 若a≠b,則再回去執行①

**:

#include int main()

while (a - b != 0)

printf("最大公約數為:%d\n", b);

system("pause");

return 0;

}

(3)窮舉法:

① temp = a b中的小數

② 若a,b能同時被temp整除,則temp即為最大公約數,結束

③ temp--,再回去執行②

**:

#define _crt_secure_no_warnings 1

#include#include int main()

for (temp = b; a%temp || b%temp; temp--);

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 第二種方法,輾轉相除法...