查找2个唯一除数的时间复杂度更低

时间:2019-02-26 18:46:48

标签: python time-complexity

找到x,y范围内的所有数字,即3和5是它们唯一的质数。 例如3 ^ 4 * 5 ^ 1 = 405,因此该数字符合条件。 条件:y> x> 1。 这是我的解决方案,但是时间复杂度很低:

def soleDivisors(x, y):
    cnt=0
    for i in range(x,y+1):
        n=i
        while n%3==0 or n%5==0 or n==1:
            if n==1:
                cnt+=1
                break
            if n%3==0:
                n=n/3   
            if n%5==0:
                n=n/5
    return cnt

有关改善时间复杂度的建议? 附言我试图将n%2!= 0添加到while条件中,但它并没有足够地帮助实现复杂性。我正在考虑使用足以检查sqrt(n)但仍然不知道如何实现它的想法。

0 个答案:

没有答案