题目:提示输入两个正整数,分别输出其最大公约数和最小公倍数
技巧要点: 最小公倍数等于两数之积除以最大公约数 (lcm最小公倍数gcd最大公约数).
#include <stdio.h>
int a(int m,int n)
{
for(int i=(m>n)?n:m;i>=0;i--)
if(m%i==0&&n%i==0)
return i;
}
int b(int m,int n)
{
return (m*n/a(m,n));
}
void main()
{
int m,n;
printf("输入两个数:");
scanf("%d%d",&m,&n);
printf("%d与%d的最大公约数是:%d\n",m,n,a(m,n));
printf("%d与%d的最小公倍数是:%d\n",m,n,b(m,n));
}