编写程序,求最小的100个素数
时间: 2024-05-15 13:15:07 浏览: 171
以下是Python代码实现:
```python
import math
def is_prime(n):
"""判断一个数是否为素数"""
if n <= 1:
return False
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
primes = []
num = 2
while len(primes) < 100:
if is_prime(num):
primes.append(num)
num += 1
print(primes)
```
首先定义了一个判断素数的函数 `is_prime()`,接着使用一个 `while` 循环不断地寻找素数,直到找到 100 个为止。每次循环中,判断当前的数是否为素数,如果是,则将其添加到 `primes` 列表中。最后输出 `primes` 列表即可。
注意,这种方法并不高效,因为它是一种暴力枚举的方法。在找到 100 个素数之前,需要判断大量的数是否为素数,这会消耗很多时间。如果需要寻找更多的素数,或者需要更快的速度,可以使用更高效的算法,例如 Eratosthenes 筛法。
相关问题
编写程序,最小的100个素数 while循环
素数是指只能被1和本身整除的自然数。以下是用while循环编写的输出前100个素数的程序:
```python
count = 0
num = 2
while count < 100:
flag = True
for i in range(2, num):
if num % i == 0:
flag = False
break
if flag:
print(num)
count += 1
num += 1
```
程序首先初始化计数器count为0,num为2。然后,使用while循环,当count小于100时,执行循环体内的代码。循环体内的flag表示num是否为素数。如果flag为True,则输出num并将count加1,否则继续增加num的值。在for循环中,从2到num-1遍历所有可能的因子。如果num可以被任何一个因子整除,则将flag设置为False并跳出循环。如果flag仍为True,则说明num是一个素数。最后,将num加1并重复循环,直到输出100个素数为止。
编写程序,求最小的100个素数只用while循环
```python
count = 0 # 计数器,记录已经找到的素数个数
num = 2 # 从2开始找素数
primes = [] # 用来存放找到的素数
while count < 100:
is_prime = True # 假设当前数是素数
for i in range(2, num):
if num % i == 0:
is_prime = False # 如果能被除1和自身以外的数整除,则不是素数
break
if is_prime:
primes.append(num) # 如果是素数,将其加入到primes列表中
count += 1 # 计数器加1
num += 1 # 继续找下一个数
print(primes)
```
阅读全文