最小公倍数=num1*num2/最大公约数
1、辗转相除法
需要多设一个变量c
<span style="font-size:14px;">#include<stdio.h>
int main()
{
int num1=0;
int num2=0;
int a=0;
int b=0;
int c=0;
scanf("%d %d",&num1,&num2);
a=num1;
b=num2;
while(b!=0){ //若余数不为0,则继续相除,直到余数为0
c=a%b;
a=b;
b=c;
}
printf("The largest common divisor:%d\n", a);
printf("The least common multiple:%d\n", num1*num2/a);
return 0;
}</span>
2、相减法
#include<stdio.h>
int main ()
{
int num1=0;
int num2=0;
int a=0;
int b=0;
scanf ("%d %d", &num1, &num2);
a=num1;
b=num2;
while ( a!=b) //若a, b不相等,则大数减小数,直到相等为止
if (a>b) a=a-b;
else b=b-a;
printf("The largest common divisor:%d\n", a);
printf("The least common multiple:%d\n", num1*num2/a);
return 0;
}