While循环

# task:求出2-100之间的素数(质数)

from math import sqrt  # 从数学里引入sqrt开方函数
 
j = 2                 
while j <= 100 :    
    i = 2 
    k = sqrt(j)
    while i <= k :  # 从i试到k , 如果中间有能整除的数,那这个j就不是质数,跳出循环
        if j%i == 0 :break
        i+=1
    if i > k: #  上一步从i试到k,如果都没有可以整除的数 —— 那么这个j就是质数,所以 i>k 时,跳出循环
        print(j)
    j+=1

在这里插入图片描述

For循环


```python
# for 循环求出2-100里的质数: for 2到目标数的开方值,如果有能被目标数整除的,则不是质数; 如果全部试了一遍都不能被for整除,则是质数
from math import sqrt
for j in range(2,101):
    k = int(sqrt(j))
    flag = 1 
    for i in range(2,k+1):
        if j % i == 0 :
            flag = 0 
            break
    if flag == 1 :
            print(j)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐