2)编写偶数分解函数:decompose(os),如果参数os能分解成两个素数之和则输出这两个
时间: 2023-11-27 14:01:24 浏览: 86
分解信号偶数和奇数分量:分解信号偶数和奇数分量-matlab开发
编写偶数分解函数:decompose(os),可以通过以下方式实现:
```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 decompose(os):
if os <= 2 or os % 2 != 0:
print("输入的数字必须为大于2的偶数")
return
for i in range(2, os // 2 + 1):
if is_prime(i) and is_prime(os - i):
print(f"{os}可以分解成{os - i}和{i}")
return
print(f"{os}无法分解成两个素数之和")
```
在这个函数中,首先定义了is_prime函数用于判断一个数是否为素数。然后在decompose函数中,先判断输入的os是否符合条件,如果不是大于2的偶数,则输出错误信息。然后利用一个循环,从2开始遍历到os的一半,分别判断当前的数和os减去当前数是否为素数,如果是,则输出这两个素数,并结束函数。如果循环结束后仍然没有找到符合条件的分解,则输出无法分解的信息。
调用这个函数,比如输入decompose(12),则会输出“12可以分解成5和7”。而输入decompose(15),则会输出“15无法分解成两个素数之和”。
阅读全文