用Python求1-100之间所有素数之和;
时间: 2024-04-29 21:25:48 浏览: 169
以下是使用Python编写的程序,用于计算1-100之间所有素数之和:
```python
sum = 0
for i in range(2, 101):
is_prime = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
is_prime = False
break
if is_prime:
sum += i
print(sum)
```
程序中使用了两个for循环,分别遍历1-100之间的每个数和每个数的因子。在第二个循环中,使用了一个小技巧:只需要遍历到该数的平方根即可,因为如果该数有大于它平方根的因子,那么它一定也有小于它平方根的因子。如果该数没有小于它平方根的因子,那么它就是素数。
我们在循环中使用一个布尔型变量is_prime,用于记录当前数是否为素数。如果在第二个循环中找到了该数的因子,就将is_prime设为False,并跳出循环。最后,如果is_prime仍然为True,就将该数加入到sum中。
最终,程序会输出1-100之间所有素数的和。
相关问题
python输出1-100之间的素数
以下是Python代码,可以输出1-100之间的素数:
```
for num in range(1, 101):
if num > 1:
for i in range(2, num):
if (num % i) == :
break
else:
print(num)
```
这段代码使用了两个for循环,第一个循环遍历1-100之间的所有数字,第二个循环判断每个数字是否为素数。如果一个数字不能被2到该数字本身-1之间的任何一个数字整除,那么这个数字就是素数。如果一个数字能被整除,那么就不是素数,直接跳出循环。最后,将所有素数输出。
用 python 求 10-20 之间素数的和
素数是指只能被 1 和它本身整除的正整数,10-20 之间的素数有 11, 13, 17, 19,它们的和为 60。下面是用 Python 求解的代码:
```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
primes = [x for x in range(10, 21) if is_prime(x)]
print(sum(primes))
```
输出结果为 60。
阅读全文