求兩個數的最大公約數

2021-08-09 02:36:07 字數 757 閱讀 5268

###求公約數有多種方法,在這主要介紹兩種方法。

1、更相減損之術

以兩數中較大的數減去較小的數,獲得的差與原先較小的數構成新的一對數,在以大的數減去小的數,依次迴圈。用同樣的方法操作,直至產生一對相等的數為止,該數即為最大公約數。

#include

#include

intmain()

while

(n!=0)

if(a==b)

}printf

("\n最大公約數是:%d\n"

,b);

system

("pause");

}

2、輾轉相除法

用較大的數除以較小的數,餘數和較小的數構成新的一對數,繼續上面的除法,直到大數被小數除盡為止,則較小的數就是最大公約數。

#include

#include

intmain()

printf

("\n最大公約數是:%d\n"

,b);

system

("pause");

}

最大公約數及最小公倍數

int

fun(

int a,

int b)

//優化改進--輾轉相除法

return a;

}int num=

(a/c)

*b;// 最小公倍數

求兩個數最大公約數

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

求兩個數的最大公約數

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

求兩個數的最大公約數

一.比較兩個數中最小數,用x,y分別除以小於等於最小數的數,直到結果為0,這個數就是最大公約數。二.輾轉相減法 將兩數相減 大數減去小數 求差,如果差與小數不等,再以大數減去小數求差,直到出 現兩數相等為止。那麼相等的數,就是所求的兩個數的最大公約數。例如 求 792,594 表示792,594的最...