pytuon 输入两个整数,输出这两个数公约数的个数,1算在公约数内
时间: 2024-05-01 16:19:18 浏览: 45
以下是实现该功能的 Python 代码:
```python
def gcd(a, b):
"""
求a和b的最大公约数
"""
while b:
a, b = b, a % b
return a
def count_divisors(a, b):
"""
计算a和b的公约数个数
"""
gcd_num = gcd(a, b)
count = 0
for i in range(1, gcd_num + 1):
if gcd_num % i == 0:
count += 1
return count
```
使用方法如下:
```python
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
count = count_divisors(a, b)
print("公约数个数为:", count)
```
当输入两个整数为 12 和 18 时,输出结果为:
```
请输入第一个整数:12
请输入第二个整数:18
公约数个数为: 4
```
因为 12 和 18 的最大公约数是 6,而 1、2、3、6 都是它的公约数,所以公约数个数为 4。
相关问题
python输入两个正整数,输出两个数的公约数的个数,每个数用一个input输入
好的,可以使用以下代码实现:
```python
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
# 计算两个数的公约数个数
count = 0
for i in range(1, min(num1, num2)+1):
if num1 % i == 0 and num2 % i == 0:
count += 1
print("两个数的公约数个数为:", count)
```
首先使用 `input` 函数分别获取两个正整数,然后使用 `for` 循环遍历 1 到两个数中较小的那个数,如果这个数既是 num1 的因数,又是 num2 的因数,那么它就是两个数的公约数,计数器 count 就加 1。最后输出结果即可。
【问题描述】输入两个整数,输出这两个整数的公约数的个数,使用函数实现。 【输入形式】两个整数 【输出形式】一个整数 【样例输入】 12 24 【样例输出】 6 【样例说明】 【评分标准】 ________________________________________ #请在下面定义函数yueshu(m,n)用于求整数m和n的公约数个数 【问题描述】输入两个整数,输出这两个整数的公约数的个数,使用函数实现。 【输入形式】两个整数 【输出形式】一个整数 【样例输入】 12 24 【样例输出】 6 【样例说明】 【评分标准】 ________________________________________ #请在下面定义函数yueshu(m,n)用于求整数m和n的公约数个数
以下是求两个整数的公约数个数的函数实现:
```python
def yueshu(m, n):
count = 0
for i in range(1, min(m, n)+1):
if m % i == 0 and n % i == 0:
count += 1
return count
```
其中,`m`和`n`分别为输入的两个整数,`count`表示公约数的个数,使用`for`循环遍历`1`到`min(m, n)`之间的每个整数,如果`m`和`n`同时能被该整数整除,则该整数是`m`和`n`的公约数,`count`加1,最终返回`count`即可。
可以通过以下方式调用该函数:
```python
m, n = map(int, input().split())
print(yueshu(m, n))
```
阅读全文