解题思路:
这道题的本质是求最小公倍数,那么由数论的gcd算法可以算出最大公约数(因数),最小公倍数=两数乘积/最大公约数,基于此可以嵌套为计算三个数的(gcd算法可以自行百度下,不难的)
注意事项:
参考代码:
a, b, c = map(eval, input().split())
def lcm_three(a, b, c):
# 求a,b,c三个数的最小公倍数
def lcm_two(x, y):
# 求x,y的最小公倍数
def gcd(m, n):
# 求m,n的最大公约数
if n == 0:
return m
else:
return gcd(n, m%n)
return x * y // gcd(x, y) # x*y//(他们之间的最大公约数)=最小公倍数
return lcm_two(lcm_two(a,b), c)
print(lcm_three(a, b, c))
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:836 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1534 |
最小公倍数 (C语言代码)浏览:863 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:907 |
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:458 |
简单的a+b (C语言代码)浏览:817 |
字符逆序 (C语言代码)浏览:646 |
C语言训练-自由落体问题 (C语言代码)浏览:619 |
矩阵乘方 (C语言代码)浏览:1031 |