解题思路:
这道题的本质是求最小公倍数,那么由数论的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 人评分
整人!!浏览:840 |
gets函数前有scanf读取时候,会读取缓存回车导致出错!!!浏览:1100 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:705 |
大神老白 (C语言代码)浏览:611 |
C二级辅导-进制转换 (C语言代码)浏览:615 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:378 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:946 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:567 |
简单的a+b (C语言代码)浏览:546 |