1.更相减损法
int gcd(int a,int b)
{
while(a!=b)
{
if(a>b)
a-=b;
else
b-=a;
}
return a;
}
2.辗转相除法–递归
int gcd(int a,int b)
{
if(b==0)
return a;
else
return gcd(b,a%b);
}
3.辗转相除法–纯循环
int gcd(int a,int b)
{
int r;
while(b!=0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
4.最小公倍数–穷举法
//穷举法求最小公倍数
for (i= a; ; i++ )
if ( i % a == 0 && i % b ==0 ) break;
printf("The least common multiple:%d\n", i )
Original: https://www.cnblogs.com/HangZhe/p/7576855.html
Author: 杭者
Title: 关于C/C++中求最大公约数和最小公倍数的算法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536327/
转载文章受原作者版权保护。转载请注明原作者出处!