利用辗转相除法可以求得最大公约数
两数的最小公倍数为两数之积除以他们的最大公约数
求最大公约数
#include <stdio.h>
int gcd(int a,int b)
{
if(b == 0)
return a;
else
{
gcd(b,a%b);
}
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b) != EOF)
{
printf("%d\n",gcd(a,b));
}
return 0;
}
求最小公倍数
#include <stdio.h>
int gcd(int a,int b)
{
if(b == 0)
return a;
else
{
gcd(b,a%b);
}
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b) != EOF)
{
printf("%d\n",a * b / gcd(a,b));
}
return 0;
}