【发布时间】:2019-06-28 06:17:13
【问题描述】:
有人可以在 Python 上解决这个问题吗?
一个正整数 m 可以被划分为素数,如果它可以写成 p + q 其中 p > 0, q > 0 并且 p 和 q 都是素数。
编写一个 Python 函数,将整数 m 作为输入,如果 m 可以划分为素数,则返回 True,否则返回 False。
试过了,但不适用于所有测试用例,例如它应该为 3432 返回 True,它返回 False。
def partition(num):
primelist=[]
for i in range(2,num + 1):
for p in range(2,i):
if (i % p) == 0:
break
else:
primelist.append(i)
for x in primelist:
y= num-x
for z in range(2,y):
if y%z == 0:
return False
return True
【问题讨论】:
-
有些网站可以聘请程序员为您工作。这不是其中之一。
-
请在提问前努力解决问题。请让您的回答具体。您需要编码方面的帮助吗?如果有,是哪一部分?您需要算法方面的帮助吗?如果真是这样,那么是以哪种方式?您是否正在寻找比蛮力更好的时间复杂度?尝试将您的问题与您真正坚持的核心方面分开。
标签: python python-3.x partition-problem