最小公倍数=两整数的乘积 / 最大公约数
辗转相除法 求 最大公约数
//3.辗转相除法(欧几里得算法)
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
printf("请输入两个数字:>");
scanf("%d %d", &a, &b);
int a1 = a;//辗转相除会改变值
int b1 = b;//因此需要替身
int tmp = 0;
while (b1)
{
//辗转相处求出最大公约数
tmp = a1 % b1;
a1 = b1;
b1 = tmp;
//此时a1就是最大公约数
}
// a * b / a1 = 最小公倍数
printf("%d %d两数的最小公倍数为%d\n", a,b,a*b/a1);
printf("%d %d两数的最大公约数为%d\n", a, b, a1);
return 0;
}
标签:公倍数,最小,a1,int,最大公约数,b1,printf
From: https://www.cnblogs.com/hsiangyu-meng/p/16646379.html