2 条题解
-
0
方法思路:
最大公约数(GCD):
使用欧几里得算法。核心思想是:用较大数除以较小数得到余数,再用除数除以余数,重复此过程直到余数为 0,此时的除数即为最大公约数。
最小公倍数(LCM):
利用公式
(因为两个数的乘积等于它们的最大公约数和最小公倍数的乘积)#include <stdio.h> // 辗转相除法求最大公约数 int gcd(int x, int y) { int remainder; while (y != 0) { remainder = x % y; x = y; y = remainder; } return x; } int main() { int a, b; // 输入两个正整数 scanf("%d %d", &a, &b); // 计算最大公约数 int gcd_val = gcd(a, b); // 计算最小公倍数 int lcm_val = a * b / gcd_val; // 输出结果 printf("%d %d\n", gcd_val, lcm_val); return 0; }
- 1
信息
- ID
- 616
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 26
- 已通过
- 12
- 上传者