题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。
时间: 2023-05-12 09:03:37 浏览: 88
答案:可以使用以下代码实现:
#include <stdio.h>
int main()
{
int m, n, r, gcd, lcm;
printf("请输入两个正整数m和n:");
scanf("%d%d", &m, &n);
// 求最大公约数
while (n != 0)
{
r = m % n;
m = n;
n = r;
}
gcd = m;
// 求最小公倍数
lcm = m * n / gcd;
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
相关问题
写一段Java程序题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。
以下是Java程序的代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int m = input.nextInt();
int n = input.nextInt();
int gcd = getGCD(m, n);
int lcm = getLCM(m, n, gcd);
System.out.println("最大公约数:" + gcd);
System.out.println("最小公倍数:" + lcm);
}
// 求最大公约数
public static int getGCD(int m, int n) {
int r;
while (n != 0) {
r = m % n;
m = n;
n = r;
}
return m;
}
// 求最小公倍数
public static int getLCM(int m, int n, int gcd) {
return m * n / gcd;
}
}
希望能够帮到你!
输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 输入说明: 输入两个正整数 m 和 n。 输出说明: 输出 m 和 n 的最大公约数和最小公倍数。
输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
最大公约数可以使用辗转相除法求解,即不断用较小数去除较大数,直到余数为0,此时较大数即为最大公约数。
最小公倍数可以通过先求出最大公约数,然后使用两数之积除以最大公约数得到。
示例代码如下(Python):
```python
m, n = map(int, input().split())
# 求最大公约数
a, b = max(m, n), min(m, n)
while b != 0:
a, b = b, a % b
gcd = a
# 求最小公倍数
lcm = m * n // gcd
print(gcd, lcm)
```
阅读全文