最大公约数算法:
if a<b
交换 a ,b
while ((r = a % b)!= 0)
{
a = b;
b = r;
}
return b;
最小公倍数算法:
return a * b / c;
#include <stdio.h>
int Gmd(int a,int b);
int Lmb(int a,int b,int c);
void main()
{
int a,b;
printf("input a and b:");
scanf("%d %d",&a,&b);
printf("最大公约数:%d",Gmd(a,b));
printf("最小公倍数:%d",Lmb(a,b,Gmd(a,b)));
}
int Gmd(int a,int b)
{
int r;
if(a<b)
{
a = a+b;
b = a- b;
a = a- b;
}
while((r = a%b )!=0)
{
a = b;
b = r;
}
return b;
}
int Lmb(int a,int b,int c)
{
return a*b/c;
}