赞
踩
这个程序定义了两个函数,一个用于计算两个正整数的最大公约数 (GCD),另一个用于计算最小公倍数 (LCM)。在主函数中读取用户输入的两个正整数,并调用这两个函数输出结果。
- #include <stdio.h>
-
- // 计算最大公约数的函数,使用辗转相除法
- int gcd(int a, int b) {
- while (b != 0) {
- int t = b;
- b = a % b;
- a = t;
- }
- return a;
- }
-
- // 计算最小公倍数的函数,公式为 (a * b) / gcd(a, b)
- int lcm(int a, int b) {
- return a * b / gcd(a, b);
- }
-
- int main() {
- int m, n;
- printf("输入两个正整数: ");
- scanf("%d %d", &m, &n);
- printf("最大公约数: %d\n", gcd(m, n));
- printf("最小公倍数: %d\n", lcm(m, n));
- return 0;
- }
代码说明:
gcd
函数采用了辗转相除法来计算最大公约数,直到余数为 0 为止。lcm
函数利用了 gcd
函数来计算最小公倍数,公式为 (a * b) / gcd(a, b)
。main
函数中,读取用户输入的两个整数,并调用 gcd
和 lcm
函数输出结果。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。