首页 > 其他 > 详细

求最大公约数与最小公倍数

时间:2015-11-19 18:28:48      阅读:244      评论:0      收藏:0      [点我收藏+]

 求两正整数的最大公约数,用辗转相除法。

 1 #include<assert.h> 
 2 
 3 #define swap(a,b,type)  do{ type t; t=a; a=b; b=t; }while(0)
 4 
 5  int gcd(int a,int b)
 6 {
 7     int t;
 8     assert(a>0&&b>0);
 9     
10     if(a<b)
11         swap(a,b,int);
12     while(b)
13     {
14         t=a%b;
15      a=b;
16      b=t;
17    }
18     return a;
19 }

 求两正整数的最小公倍数,方法是a*b/gdc(a,b)

1 #include<assert.h>
2 int lcm(int a,int b)
3 {
4     assert(a>0&&b>0);
5     return a*b/gcd(a,b);
6 }

 

求最大公约数与最小公倍数

原文:http://www.cnblogs.com/inori/p/4978235.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!