首页 > 解决方案 > 我怎样才能使这个数学问题的代码更有效

问题描述

我正在尝试使用 python 解决项目 euler 中的问题 5。但是,代码速度不够快,无法在合理的时间内给出答案。我是一个相对较新的程序员,对 python 也很陌生。问题是

2520 是可以除以 1 到 10 的每个数字而没有任何余数的最小数字。能被 1 到 20 的所有数整除的最小正数是多少?

我的代码是

def divisible(num):
    for i in [20,19,18,17,16,15,14,13,12,11]:
        if num % i == 0:
            continue 
        else:
            return False
        return True

num = 2520
while not divisible(num):
    num += 2520
print(num)

标签: python

解决方案


推荐阅读