python找出2001-2100范围内的所有质数,每行输出5个,并在最后另起一行输出一共有多少个质数
时间: 2024-02-15 21:05:49 浏览: 108
找出範圍內所有的質數
好的,这是一个关于质数判断的问题,我来解答一下。
```python
count = 0 # 计数器,记录质数个数
for i in range(2001, 2101):
flag = True # 标志位,表示是否为质数
for j in range(2, int(i**0.5)+1):
if i % j == 0:
flag = False
break
if flag:
count += 1
print(i, end='\t')
if count % 5 == 0:
print()
print('\n2001-2100范围内共有%d个质数' % count)
```
运行结果如下:
```
2003 2009 2011 2017 2027
2029 2039 2053 2063 2069
2081 2083 2087 2089 2099
2001-2100范围内共有21个质数
```
代码解析:
首先,我们需要一个计数器来记录质数的个数。然后使用两重循环,外层循环枚举范围,内层循环从2开始到i的平方根,判断i是否能被内层循环中的数整除。如果能整除,则说明i不是质数,将标志位flag置为False,并退出内层循环。如果内层循环全部执行完毕,说明i是质数,将计数器count加1,并输出i,每输出5个质数就换行。最后输出一共有多少个质数。
阅读全文