计算[a,b]之间的质数个数

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

 

posted @ 2019-08-11 19:31  notis  阅读(570)  评论(1编辑  收藏  举报