用while循环求100到200间的全部素数
时间: 2024-06-16 16:07:53 浏览: 8
要用while循环求100到200间的全部素数,可以按照以下步骤进行:
1. 定义一个变量num并初始化为100,表示当前要判断的数。
2. 使用while循环,判断num是否小于等于200:
- 如果num小于等于200,则执行以下步骤:
- 定义一个变量is_prime并初始化为True,表示当前的num是素数。
- 使用一个内部循环,从2开始逐个判断num是否能被除了1和自身以外的数整除:
- 如果num能被某个数整除,则将is_prime设置为False,并跳出内部循环。
- 判断is_prime的值,如果为True,则输出num,表示num是素数。
- 将加1,继续下一轮循环。
- 如果num大于200,则跳出while循环。
下面是示例代码:
```python
num = 100
while num <= 200:
is_prime = True
divisor = 2
while divisor < num:
if num % divisor == 0:
is_prime = False
break
divisor += 1
if is_prime:
print(num)
num += 1
```
相关问题
用python 分别使用for循环和while循环,求100~200的所有素数
好的,下面是 Python 代码实现:
使用 `for` 循环:
```python
# 定义一个列表,用于存储素数
prime_list = []
# 循环判断 100~200 的所有数是否为素数
for num in range(100, 201):
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
prime_list.append(num)
# 输出结果
print("100~200之间的素数有:", prime_list)
```
使用 `while` 循环:
```python
# 定义一个列表,用于存储素数
prime_list = []
# 循环判断 100~200 的所有数是否为素数
num = 100
while num <= 200:
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
prime_list.append(num)
num += 1
# 输出结果
print("100~200之间的素数有:", prime_list)
```
这段代码首先定义一个空列表 `prime_list`,用于存储 100~200 之间的素数。然后使用 `for` 循环或 `while` 循环遍历 100~200 之间的所有数,判断每个数是否为素数,如果是素数就将其添加到 `prime_list` 列表中。
最后输出结果即可。
分别使用for循环和while循环,求100~200的所有素数
使用for循环,代码如下:
```python
for i in range(100, 201):
flag = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
flag = False
break
if flag:
print(i)
```
使用while循环,代码如下:
```python
i = 100
while i <= 200:
flag = True
j = 2
while j <= int(i ** 0.5):
if i % j == 0:
flag = False
break
j += 1
if flag:
print(i)
i += 1
```
两种方法都是通过循环枚举100~200之间的整数,判断每个数是否为素数,如果是,则输出。其中for循环使用range函数生成整数序列,while循环则手动控制循环条件。