int main() {
int x = 0, y = 0;
printf("Please input two positive integers(正整数):");
scanf("%d%d", &x, &y);//从控制台输入两个正整数
int mul = x * y;//用来存放两个数的积, 因为辗转相除的过程中x和y的值会改变,所以先存储一下它们的乘积
int n = x % y;//n用来存放余数
while (n != 0) {
x = y;
y = n;
n = x % y;
}
int gcd = y;//用来存放最大公约数
int lcm = mul / gcd;//用来存放最小公倍数
printf("gcd = %d lcm = %d\n", gcd, lcm);
return 0;
}辗转相除法
求最大公约数和最小公倍数(辗转相除法)
最新推荐文章于 2024-08-22 23:18:05 发布