码迷,mamicode.com
首页 > 其他好文 > 详细

求最大公约数的三种方法

时间:2019-04-05 12:42:52      阅读:1190      评论:0      收藏:0      [点我收藏+]

标签:func   辗转相减   style   center   相减   keyword   blank   text   bsp   

 

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

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

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

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

 

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

}

 

求最大公约数的三种方法

标签:func   辗转相减   style   center   相减   keyword   blank   text   bsp   

原文地址:https://www.cnblogs.com/schips/p/10658253.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!