获得用户输入的正整数值M和N,求M和N的最大公因数
时间: 2024-05-09 11:19:12 浏览: 16
以下是Python代码实现:
```python
# 获取用户输入的正整数M和N
M = int(input("请输入正整数M:"))
N = int(input("请输入正整数N:"))
# 实现辗转相除法求最大公因数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 调用gcd函数求M和N的最大公因数
result = gcd(M, N)
# 输出结果
print("M和N的最大公因数为:", result)
```
运行结果示例:
```
请输入正整数M:24
请输入正整数N:18
M和N的最大公因数为: 6
```
相关问题
用C语言编写程序输入两个正整数M和N求其最大公因数和最小公倍数
好的,您可以使用以下程序来求得两个正整数M和N的最大公因数和最小公倍数:
```c
#include <stdio.h>
int main() {
int m, n, i, gcd, lcm;
printf("请输入两个正整数M和N:");
scanf("%d%d", &m, &n);
// 求最大公因数
for (i = 1; i <= m && i <= n; ++i) {
if (m % i == 0 && n % i == 0)
gcd = i;
}
// 求最小公倍数
lcm = m * n / gcd;
printf("最大公因数GCD是:%d\n", gcd);
printf("最小公倍数LCM是:%d\n", lcm);
return 0;
}
```
注意,程序中的求最大公因数的方法使用了辗转相除法,但是这里我们选择了更容易理解的枚举法。如果M和N很大,使用枚举法计算效率可能比较低,可以采用更高效的算法,例如辗转相除法或更高级的欧几里得算法。
输入两个正整数m,求其最大公因数和最小公倍数
最大公因数可以用辗转相除法,也叫欧几里得算法,来求解。具体步骤如下:
1. 用较大数除以较小数,得到余数r(余数不为0);
2. 用上一步得到的余数r去除上一步的除数,得到新的余数;
3. 重复步骤2,直到余数为0为止,此时除数就是最大公因数。
代码如下:
```python
def gcd(m, n):
while n:
m, n = n, m % n
return m
```
最小公倍数可以用最大公因数来求解,公式为:两数的乘积除以最大公因数。代码如下:
```python
def lcm(m, n):
return m * n // gcd(m, n)
```
完整代码如下:
```python
def gcd(m, n):
while n:
m, n = n, m % n
return m
def lcm(m, n):
return m * n // gcd(m, n)
m = int(input('请输入第一个正整数:'))
n = int(input('请输入第二个正整数:'))
print('最大公因数为:', gcd(m, n))
print('最小公倍数为:', lcm(m, n))
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)