求最大公约数和最小公倍数 ,利用欧几里得算法原理:辗转相除法求最大公约数,方法: gcd(a,b)=gcd(b,a mod b)当b为0时,两数的最大公约数即为a,求最小公倍数只需将两数的乘积除以它们的最大公约数即可。代码示例如下:
#include<stdio.h>
static int max_com_data(intm,intn)
{
int tem;
while(n>0)
{
tem=m%n;
m=n;
n=tem;
}
returnm;
}
/*求最小公倍数*/
static int min_com_multipul(intm,intn)
{
inttem;
intmin_num=m*n;
tem=max_com_data(m,n);
returnmin_num/tem;
}
intmain()
{
inta,b;
scanf("%d %d",&a,&b);
printf("最大公约数为:%dn",max_com_data(a,b));
printf("最小公倍数为:%dn",min_com_multipul(a,b));
return0;
}