题解 | #求最小公倍数#
求最小公倍数
https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3
import sys from math import lcm for line in sys.stdin: a = list(map(int, line.split())) multiple = lcm(a[0], a[1]) # 计算最小公倍数 for i in range(a[0], multiple+1, a[0]): if i % a[1] == 0: print(i)
以下两种时间效率不过关:
import sys from math import gcd for line in sys.stdin: a = list(map(int, line.split())) lcm = a[0] * a[1] // gcd(a[0], a[1]) # 计算最小公倍数 for i in range(1, lcm+1): if i % a[0] == 0 and i % a[1] == 0: print(i) ####################################################### import sys for line in sys.stdin: a = list(map(lambda x:int(x),line.split())) #print(a) for i in range(1,a[0]*a[-1]+1): if i%a[0] == 0 and i%a[1] == 0: print(i)