检查数字是否可以在python中被另一个整除的最快方法

时间:2018-10-12 06:54:24

标签: python division

所以我一直在用python做质数运算,而我目前正在使用它

def isDivisible(number,divisor):
    if number % divisor == 0:
        return True
    return False

检查数字是否可被除数整除。 所以我想知道是否有更快的方法?

5 个答案:

答案 0 :(得分:4)

那又怎么样:

return (number % divisor == 0)

答案 1 :(得分:3)

我怀疑是否存在“更快”的检查方法。而且看起来很简单。但是,我会将您的函数编写为:

def isDivisible(number, divisor):
    return number % divisor == 0

答案 2 :(得分:3)

速度测试表明,检查not()!= 0解决方案要快:

%%timeit 
not(8 % 3)
# 19 ns ± 0.925 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

%%timeit 
8 % 3 != 0
# 27.1 ns ± 0.929 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

答案 3 :(得分:0)

也许您可以使用lambda

isDivisible = lambda x,y: x%y==0

isDivisible(4,2)

输出:

True

答案 4 :(得分:0)

速度不快,但是请注意number % divisor == 0已经返回了布尔值。所以你只需做

is_divisible = lambda number, divisor: number % divisor == 0

定义功能。但是,这仍然是您使用的相同方法。可能稍微快一点,我还没有测试。