C語言求兩個數的最大公約數和最小公倍數 自我理解

2021-10-03 07:08:49 字數 1135 閱讀 1461

人之所以痛苦,那是因為你在成長。--------magic_guo

首先我們來了解一下定義:

最小公倍數:兩個或多個整數公有的倍數叫做它們的公倍數,其中除0以外最小的乙個公倍數就叫做這幾個整數的最小公倍數

最大公約數:最大公因數,也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的乙個

最小公倍數 = 兩整數的乘積÷最大公約數

主函式:

# include

//最大公約數,指兩個或多個整數共有的約數中最大的乙個

intmain

(void

)

1.輾轉相除法流程圖如下:

話不多說直接上**:

//輾轉法求最大公約數

inthcp1

(int a,

int b)

return a;

//當a%b的值為0時,跳出迴圈,返回的是b的值,在上面已經賦給了a

}

2.輾轉相減法《畫了好久感覺還是不滿意,,,就不上圖了》

//輾轉相減法求最大公約數

inthcp3

(int a,

int b)

return a;

//返回a或者b都是可以的,最後a=b

}

3.窮舉法流程圖如下:

**:

//窮舉法求最大公約數

inthcp2

(int a,

int 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...

C語言 求兩個數的最大公約數

求兩個數的最大公約數。最大公約數定義 如果a,b是非零整數,而整數q同時是a,b的因數,我們便把q叫做a,b的公因數。顯然,q的絕對值必然不大於a,b的絕對值的最小者,即 q min 上式表明,兩個非零整數的公因數必只有有限多個,於是,其中一定存在乙個最大的。我們把a,b的所有公因數中最大的乙個公因...

求兩個數的最大公約數

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