<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">需求:输入两个正整数,求两个数的最大公约数和最小公倍数。</span>
分析:首先可以使用辗转相除法求出两个数的最大公约数,之后再把两个数相乘除以最大公约数即为最小公倍数。
实现源码:
int gcd(int a,int b)
{
int s;
if(a<b)
{
s=a;
a=b;
b=s;
}
while((s=a%b)!=0)
a=b,b=s;;
s=b;
return s;
}
int minb(int a,int b,int g)
{
return a*b/g;
}
int main()
{
int mg,mb;
int a,b;
scanf("%d %d",&a,&b);
mg=gcd(a,b);
mb=minb(a,b,mg);
printf("%d,%d\n",mg,mb);
}