Python用函数输出4–20间所有偶数的素数之和
时间: 2024-02-03 21:13:36 浏览: 73
可以通过下面的代码来实现:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True
def sum_of_even_primes():
result = 0
for num in range(4, 21, 2):
if is_prime(num):
result += num
return result
print(sum_of_even_primes())
```
首先,我们定义一个名为`is_prime`的函数,用于判断一个数是否为素数。该函数接受一个整数作为参数,如果该数小于2,则返回False;否则,从2到该数的平方根遍历所有数,如果存在能整除该数的数,则返回False;否则,返回True。
接着,我们定义一个名为`sum_of_even_primes`的函数,用于输出4-20间所有偶数的素数之和。该函数首先初始化一个变量`result`为0,然后从4到20遍历所有偶数,如果该数是素数,则将其加入到`result`中。最后,返回`result`。
最后,我们调用`sum_of_even_primes`函数,并将其结果打印输出。
相关问题
用python编写函数,输出1-1000最大的5个质数和7个偶数
好的,下面是用 Python 编写的函数,该函数可以输出 1-1000 最大的 5 个质数和 7 个偶数:
```python
def get_primes_and_evens():
primes = []
evens = []
for num in range(2, 1001):
# 判断是否为质数
for i in range(2, num):
if (num % i == 0):
break
else:
primes.append(num)
# 判断是否为偶数
if num % 2 == 0:
evens.append(num)
# 输出最大的 5 个质数和 7 个偶数
print("最大的 5 个质数是:", sorted(primes)[-5:])
print("最大的 7 个偶数是:", sorted(evens)[-7:])
get_primes_and_evens()
```
请注意,这里使用了 Python 中的 `range()` 函数来生成 2-1000 内的所有整数,并使用两个列表分别存储质数和偶数。在判断质数时,我们使用了一个嵌套的 `for` 循环,其中第一个循环表示 num 从 2 开始遍历到 1000,第二个循环从 2 开始遍历到 num-1,依次判断 num 能否被 i 整除。如果存在一个 i 可以整除 num,就退出第二个循环,并判断下一个 num。如果没有 i 可以整除 num,就说明 num 是一个质数,将其添加到 primes 列表中。
在判断偶数时,我们只需要判断 num 是否能被 2 整除,如果能,就将其添加到 evens 列表中。
最后,我们使用 Python 中的 `sorted()` 函数对 primes 和 evens 分别进行排序,并输出它们的最大 5 个质数和最大 7 个偶数。
希望这个函数能够帮到你,如果还有其他问题,请随时问我。
编写函数将10到20之间的所有偶数表示为俩个素数之和
好的,我可以编写这样的函数。首先,需要判断一个数是否为素数。以下是判断素数的函数:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
```
接下来,我们可以使用两个循环来找到两个素数之和等于偶数。代码如下:
```python
def even_two_primes():
for i in range(10, 21, 2):
for j in range(2, i):
if is_prime(j) and is_prime(i-j):
print("{} = {} + {}".format(i, j, i-j))
break
```
这段代码会输出:
```
10 = 5 + 5
12 = 5 + 7
14 = 3 + 11
16 = 3 + 13
18 = 5 + 13
20 = 3 + 17
```
这就是10到20之间的所有偶数表示为俩个素数之和的结果。