python 输入三个数,输出公约数,编写代码
时间: 2023-08-04 07:20:12 浏览: 73
下面是Python代码实现:
```python
def find_common_divisor(a, b, c):
divisor = []
for i in range(1, min(a, b, c) + 1):
if a % i == b % i == c % i == 0:
divisor.append(i)
return divisor
# 示例
a, b, c = input("请输入三个数,以空格分隔:").split()
a, b, c = int(a), int(b), int(c)
print(f"{a}, {b}, {c} 的公约数为:{find_common_divisor(a, b, c)}")
```
运行后,输入三个整数,程序会输出它们的所有公约数。
相关问题
python 输入三个小数,输出公约数,编写代码
以下是输入三个小数,输出公约数的 Python 代码:
```python
def find_gcd(x, y, z):
gcd = 1
for i in range(1, min(x, y, z)+1):
if x%i == y%i == z%i == 0:
gcd = i
return gcd
num1 = float(input("请输入第一个小数:"))
num2 = float(input("请输入第二个小数:"))
num3 = float(input("请输入第三个小数:"))
print("{}, {}, {} 的最大公约数是:{}".format(num1, num2, num3, find_gcd(num1, num2, num3)))
```
你可以运行这段代码并输入三个小数,它会输出这三个小数的最大公约数。
python平台会对你编写的代码进行测试: 测试输入: 2 4; 预期输出: 最大公约数为: 2 最小公倍数为: 4 测试输入: 6 9; 预期输出: 最大公约数为: 3 最小公倍数为: 18.
Python通过各种内置函数和第三方库支持对代码进行单元测试,包括对数学计算的验证。针对你提到的求最大公约数(GCD)和最小公倍数(LCM)的问题,你可以编写一段代码来实现这两个功能,并对其进行测试。
例如,可以使用`math`模块中的`gcd`函数求GCD,然后利用公式`(a*b) // gcd(a,b)`来计算LCM。下面是一个简单的示例:
```python
import math
def find_gcd_lcm(a, b):
def lcm(a, b):
return a * b // math.gcd(a, b)
gcd_value = math.gcd(a, b)
lcm_value = lcm(a, b)
return f"最大公约数为:{gcd_value}\n最小公倍数为:{lcm_value}"
# 测试用例
test_input_1 = (2, 4)
expected_output_1 = "最大公约数为:2\n最小公倍数为:4"
test_input_2 = (6, 9)
expected_output_2 = "最大公约数为:3\n最小公倍数为:18"
assert find_gcd_lcm(*test_input_1) == expected_output_1
assert find_gcd_lcm(*test_input_2) == expected_output_2
print("所有测试用例通过!")
```
在这段代码中,`find_gcd_lcm`函数接收两个参数并返回预期的结果。我们创建了两个测试用例并使用`assert`来验证实际输出是否与预期一致。
阅读全文