判断m是否能写成两个素数之和
时间: 2023-12-20 07:04:04 浏览: 86
以下是判断一个正整数m是否能写成两个素数之和的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 is_sum_of_two_primes(m):
for i in range(2, m):
if is_prime(i) and is_prime(m-i):
return True
return False
m = int(input("请输入一个正整数:"))
if is_sum_of_two_primes(m):
print(f"{m} 可以写成两个素数之和。")
else:
print(f"{m} 不能写成两个素数之和。")
```
首先,我们定义了一个判断一个数是否为素数的函数is_prime(n)。接着,我们定义了一个判断一个正整数m是否能写成两个素数之和的函数is_sum_of_two_primes(m)。在这个函数中,我们从2到m-1遍历所有可能的素数,如果找到了两个素数i和m-i,它们的和等于m,那么就返回True。如果遍历完所有可能的素数都没有找到满足条件的两个素数,那么就返回False。
最后,我们从用户输入中读取一个正整数m,然后调用is_sum_of_two_primes(m)函数判断它是否能写成两个素数之和。如果能,就输出"{m} 可以写成两个素数之和。",否则就输出"{m} 不能写成两个素数之和。"。