求最大公约数的三种方法

Posted schips

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求最大公约数的三种方法相关的知识,希望对你有一定的参考价值。

 

一、最大公约数与最小公倍数

最大公约数,属于数论所探究的内容。

最大公约数可以通过下面的三种方法求出来。

最小公倍数呢,它与最大公约数的乘机为所求数之积。

 

比如求  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;

}

 

以上是关于求最大公约数的三种方法的主要内容,如果未能解决你的问题,请参考以下文章

求最大公约数

求最大公约数

最大公约数的三种解法

PHP设置脚本最大执行时间的三种方法

PHP设置脚本最大执行时间的三种方法

JavaSE基础生成随机数的三种方法