python中用函数求解公约数
时间: 2023-06-06 19:08:25 浏览: 57
好的,这是一个数学问题,我可以回答。在 Python 中,可以使用以下代码来求解两个数的最大公约数:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a%b)
```
其中,a 和 b 是待求解的两个数,gcd 函数返回它们的最大公约数。
相关问题
python中用函数求解水仙花数
水仙花数是指一个n位数(n≥3),它的各位数字的n次方之和等于它本身。例如:153=1^3+5^3+3^3。
以下是Python代码实现:
def narcissistic_number(n):
result = []
for i in range(10**(n-1), 10**n):
sum = 0
for j in str(i):
sum += int(j)**n
if sum == i:
result.append(i)
return result
print(narcissistic_number(3)) # 输出 153, 370, 371, 407
Python用函数求解最小公倍数
可以使用以下代码来求解两个数的最小公倍数:
```python
def lcm(a, b):
# 先求出最大公约数
gcd = lambda x, y: x if not y else gcd(y, x % y)
# 最小公倍数为两数之积除以最大公约数
return a * b // gcd(a, b)
```
其中,`gcd` 函数使用递归实现了求两个数的最大公约数,然后通过两个数的乘积除以最大公约数的方式求出最小公倍数。
你可以通过以下方式来调用该函数:
```python
print(lcm(4, 6)) # 输出 12
print(lcm(10, 15)) # 输出 30
```