[题目描述]
编写一个程序,找出能被从1到给定数字n(包括n)的所有数字整除的最小正数(即最小公倍数)。
定义函数smallest_multiple()的函数,参数为n。
在函数内,返回能被从1到给定数字n(包括n)的所有数字整除而无余数的最小正数。
示例输入:
5
示例输出:
60
比如,对于输入5,最小公倍数是60,因为60能被1、2、3、4、5整除,且是最小的正数。
完整代码展示:
a=int(input())
b=1
while True:
c=0
for i in range(1,a+1):
if b%i==0:
c+=1
if c==a:
print(b)
break
b+=1
代码解释:
“a=int(input()) ”,让用户输入需要求的公倍数的上限域值因子a。
“b=1
while True:
c=0
for i in range(1,a+1):
if b%i==0:
c+=1
if c==a:
print(b)
break
b+=1 ”,令循环密码子为b,并设其初始值为1。在求得需要求的公倍数前,设置有条件的无限循环。每循环一次,就令c=0,接着遍历从1到a的所有数字,每查找到一个能将b整除的整数,就让c+=1,遍历结束后,判断c是否等于a,如果是,则跳出整个while;否则令b+=1,直至跳出整个while循环。
运行效果展示:
(声明:以上内容均为原创)