1. 程式人生 > >求最大公約數的三種方法

求最大公約數的三種方法

net turn 窮舉 ram http popu iss font jsb

一、最大公約數與最小公倍數

最大公約數,屬於數論所探究的內容。

最大公約數可以通過下面的三種方法求出來。

最小公倍數呢,它與最大公約數的乘機為所求數之積。

比如求 x,y的最大公約數和最小公倍數

記住這個公式: x*y=最小公倍數*最大公約數

二、求最大公約數的三種方法

①輾轉相除法

算法流程圖

技術分享圖片

int measure(int x, int y)

{

int z = y;

while(x%y!=0)

{

z = x%y;

x = y;

y = z;

}

return z;

}

運行結果:
技術分享圖片

②輾轉相減法

技術分享圖片

int measure(int a,int b)

{

while(a != b)

{

if(a>b)

{

a = a - b;

}

else

{

b = b - a;

}

}

return a;

}

運行結果:

技術分享圖片

③窮舉法

流程圖

int measure(int x,int y)

{

int temp = 0;

for(temp = x ; ; temp-- )

{

if(x%temp == 0 && y%temp==0)

break;

}

return temp;

}

求最大公約數的三種方法