非常简单的一个小代码,想起初学时看半天没懂,今天遇到了就总结了一下,看代码:
#include<stdio.h>
int main()
{
int a,b,c,d,t,max,min;
scanf("%d%d",&a,&b);
if(b>a) //如果b>a,交换双方的值,使大者a为被除数
{ t=a;a=b;b=t;}
d=a*b; //待会计算最小公倍数
while((c=a%b)!=0) //余数不为零,继续执行循环
{ a=b; //使除数b变为被除数a
b=c; //使余数c变为除数b
}
max=b; //最大公约数
min=d/max; //计算最小公倍数
printf("最大公约数:%d
最小公倍数:%d
",max,min);
return 0;
}
附上模板:最小公倍数为a*b/gcd(a,b%a);
int GCD(int a,int b)
{
return b==0?a:GCD(b,a%b);
}