6-3 使用函数求素数和
时间: 2024-05-08 09:21:42 浏览: 152
下面是使用函数求素数和的 Python 代码:
```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
def prime_sum(n):
"""求小于等于n的素数和"""
sum = 0
for i in range(2, n + 1):
if is_prime(i):
sum += i
return sum
n = int(input("请输入一个正整数:"))
print("小于等于{}的素数和为{}".format(n, prime_sum(n)))
```
该程序中,`is_prime(n)` 函数用于判断一个数是否为素数,`prime_sum(n)` 函数用于求小于等于n的素数和。主程序中,我们首先输入一个正整数n,然后调用 `prime_sum(n)` 函数计算小于等于n的素数和并输出。
相关问题
6-4 使用函数求素数和6-5 使用函数统计指定数字的个数
在编程中,通常会将一些常见的任务封装成函数,以便复用和管理代码。对于6-4 使用函数求素数,我们可以定义一个名为`is_prime`的函数,其输入是一个整数,输出该数是否为素数:
```python
def is_prime(num):
if num < 2: # 素数定义排除小于2的数
return False
for i in range(2, int(num**0.5) + 1): # 只需检查到num的平方根即可
if num % i == 0: # 如果能被整除,则不是素数
return False
return True
# 示例
print(is_prime(7)) # 输出:True,因为7是素数
```
对于6-5 使用函数统计指定数字的个数,可以定义一个名为`count_occurrences`的函数,它接受一个列表和一个目标数字作为参数,返回列表中该数字出现的次数:
```python
def count_occurrences(lst, target):
return lst.count(target)
# 示例
numbers = [1, 2, 3, 2, 4, 2]
target = 2
print(count_occurrences(numbers, target)) # 输出:3,因为数字2出现了3次
```
6-5 使用函数求素数和
以下是使用函数求素数和的 Python 代码:
```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 prime_sum(n):
primes = [i for i in range(2, n+1) if is_prime(i)]
return sum(primes)
n = int(input("请输入一个正整数:"))
print(f"小于等于{n}的素数和为:{prime_sum(n)}")
```
代码说明:
- `is_prime` 函数用于判断一个数是否为素数,如果是素数返回 `True`,否则返回 `False`。
- `prime_sum` 函数用于求小于等于 `n` 的所有素数的和,首先用列表推导式生成小于等于 `n` 的所有素数,然后用 `sum` 函数求和。
- 主程序中用户输入一个正整数 `n`,然后输出小于等于 `n` 的素数和。
需要注意的是,素数是指只能被 1 和自身整除的正整数,2 是唯一的偶素数。在 `is_prime` 函数中,如果一个数小于 2,那么它不是素数。在判断素数时,只需要判断 2 到 $\sqrt{n}$ 中是否存在可以整除 `n` 的数即可,如果存在,那么 `n` 就不是素数。
阅读全文