首页 > 技术文章 > 计算[a,b]之间的质数个数

imhuanxi 2019-08-11 19:31 原文

from math import sqrt
n_p=0
for i in range(a,b+1):  #不是b
    is_p=True
    for i0 in range(2,int(sqrt(i))+1):   #缩小质数的可能范围,提高效率
        if i%i0==0:
            is_p=False
            break
    if is_p:
        n_p+=1

或利用for的else语句也可以,更简洁,不过这种语法只针对python。

from math import sqrt
n_p=0
for i in range(a,b+1):  #不是b
    for i0 in range(2,int(sqrt(i))+1):   #缩小质数的可能范围,提高效率
        if i%i0==0:
            break
    else:
        n_p+=1

 

推荐阅读