Python_while / for 循环_求出2-100里的质数

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)

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是 Python 代码,可以输出 1 到 100 之间的所有素数: ``` def is_prime(num): if num <= 1: return False for i in range(2, num): if num % i == 0: return False return True for i in range(1, 101): if is_prime(i): print(i) ``` 输出结果: ``` 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 ``` ### 回答2: Python是一种非常强大的编程语言,可以用来实现各种算法和数学运算。为了输出从2到100之间的素数,我们可以使用Python编写一个简单的程序。 素数是指大于1的自然数中,除了1和它本身以外没有其他因子的数。我们可以从2开始遍历到100,对每一个数判断是否为素数。 具体的方法是,我们用一个循环从2遍历到100。对于每一个数x,我们检查从2到sqrt(x)之间是否有除了1和x本身以外的因子。如果存在这样的因子,则该数不是素数;否则,该数是素数。 下面是Python代码实现: ```python import math # 遍历从2到100之间的每一个数 for x in range(2, 101): is_prime = True # 检查从2到sqrt(x)之间是否有因子 for i in range(2, int(math.sqrt(x)) + 1): if x % i == 0: is_prime = False break # 如果没有找到因子,则输出该数 if is_prime: print(x) ``` 运行上述代码,我们可以得到从2到100之间的所有素数: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 这是一个简单而有效的方法来输出从2到100之间的素数。 ### 回答3: 为了找到2到100之间的所有素数,我们可以编写一个简单的Python程序来检查每个数字是否为素数。 一个素数是指只能被1和它自身整除的正整数。我们可以使用一个嵌套循环来检查每个数字是否能被2到它自身-1的整数整除。如果不能被任何一个整数整除,那么这个数字就是素数。 下面是一个解决方案的示例代码: ```python # 创建一个空列表来存储找到的素数 prime_numbers = [] # 循环从2到100,逐个检查每个数字是否为素数 for num in range(2, 101): is_prime = True # 检查一个数字是否能被除了1和它自身的其他整数整除 for i in range(2, num): if num % i == 0: is_prime = False break # 如果数字不能被任何一个整数整除,则将其添加到素数列表中 if is_prime: prime_numbers.append(num) # 打印找到的素数 for prime in prime_numbers: print(prime) ``` 运行以上代码,将会输出2到100之间的所有素数:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97。 这段代码使用了两个嵌套循环。外部循环迭代数字2到100,而内部循环检查一个数字是否能被除了1和它自身的其他整数整除。如果能被整除,那么这个数字不是素数,并且内部循环被break语句终止。如果不能被任何一个整数整除,那么这个数字是素数,并且被添加到素数列表中。最后,我们通过循环打印素数列表中的每个素数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值