python利用while循环求2到100内的素数,求大神指点

要利用 Python 中的 while 循环找出2到100之间的所有素数,可以采用以下步骤和方法:

素数的定义与方法:

  1. 素数定义

    • 素数是大于1,并且除了1和它本身之外没有其他正因数的整数。
  2. 解决方法

    • 我们可以利用一个嵌套的 while 循环来实现这个目标。外层循环迭代检查每个数是否为素数,内层循环用来检查当前数是否能被小于它的数整除。
  3. 具体步骤

    • 初始化一个空列表 primes 用于存放找到的素数。
    • 外层循环从2开始直到100,对每个数进行判断。
    • 内层循环从2开始直到当前数的平方根(因为大于平方根的因子一定对应小于平方根的因子),检查是否能整除当前数。
    • 如果不能被整除,则当前数为素数,将其添加到 primes 列表中。
    • 最后输出 primes 列表中的所有素数。

示例代码:

python
primes = [] num = 2 while num <= 100: is_prime = True # 检查是否能被小于当前数的因子整除 divisor = 2 while divisor * divisor <= num: if num % divisor == 0: is_prime = False break divisor += 1 # 如果是素数,则加入到列表中 if is_prime: primes.append(num) num += 1 print("2到100之间的素数:", primes)

解释:

  • 外层循环从2开始到100,每次迭代一个数 num
  • 内层循环检查当前数 num 是否能被2到其平方根之间的数整除。
  • 如果 num 不能被整除,则说明 num 是素数,加入到 primes 列表中。
  • 最后打印输出 primes 列表,即为2到100之间的所有素数。

总结:

通过嵌套的 while 循环,我们可以有效地找出指定范围内的所有素数。这种方法不仅简单直观,而且在数学上也是有效的,确保了找出的素数列表的正确性和完整性。