- 定义函数
smallest_multiple()
的函数,参数为n
。- 在函数内,返回能被从1到给定数字
n
(包括n)的所有数字整除而无余数的最小正数。
def smallest_multiple(n):
num=[i+1 for i in range(n)]
a=num[0]
for j in range(2,n+1):
b=j
num=a*b
while a%b!=0:
c = a % b
a = b
b = c
tmp=num/b
a=tmp
return int(tmp)
# 输入n
n = int(input())
# 调用函数
print(smallest_multiple(n))
此题中我求最小公倍数是用最大公约数来求,最小公倍数=两数之积/最大公约数。最大公约数用辗转相除法求。