用Python输出100以内的所有素数及素数之和,每行输出8个素数
时间: 2023-09-12 13:12:40 浏览: 83
首先,我们需要写一个函数来判断一个数是否为素数:
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
```
这个函数会返回一个布尔值,判断输入的数是否为素数。
接下来,我们可以用一个循环来输出100以内的所有素数,并计算它们的和:
```python
sum_of_primes = 0
count = 0
for i in range(2, 101):
if is_prime(i):
print(i, end=' ')
sum_of_primes += i
count += 1
if count % 8 == 0:
print()
print("\nSum of primes: ", sum_of_primes)
```
在这个循环中,我们首先初始化了一个变量`sum_of_primes`来存储素数的和,以及一个变量`count`来计数输出的素数的个数。然后,我们用一个`for`循环来遍历2到100之间的所有数,对于每个数,我们调用`is_prime`函数来判断它是否为素数。如果是素数,我们就将它输出,并将它加入到`sum_of_primes`中,同时将`count`加1。如果已经输出了8个素数,我们就换行输出,然后继续输出下一个素数。最后,我们输出所有素数的和。
完整代码如下:
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
sum_of_primes = 0
count = 0
for i in range(2, 101):
if is_prime(i):
print(i, end=' ')
sum_of_primes += i
count += 1
if count % 8 == 0:
print()
print("\nSum of primes: ", sum_of_primes)
```
阅读全文