[C/C++基础]- 利用递回方式求最大公因数和求其最小公倍数
本篇要和(C/P)同好分享利用递回方式求最大公因数和求其最小公倍数,有兴趣的同好欢迎来(C/P)一下哈哈 ^ ^。
程式码 |
#include
usingnamespace std;
/*
利用递回方式求最大公因数和求其最小公倍数
*/
int gcd_1(int a,int b)//求最大公因数_1_以辗转相减法
{
if(a==b)
return a;
if(a>b)
return gcd_1(a-b,b);
return gcd_1(a,b-a);
}
int gcd_2(int a,int b)//求最大公因数_2_以辗转相除法
{
int c=0;
c=a%b;
if(c==0)
return b;
return gcd_2(b,c);
}
int lcm(int a,int b)//求其最小公倍数
{
return b/gcd_1(a,b)*a;
}
void main(void)
{
int a,b,c;
a=30,b=45;
c=gcd_1(a,b);
cout<
c=gcd_2(a,b);
cout<
c=lcm(a,b);
cout<
}
|