为了账号安全,请及时绑定邮箱和手机立即绑定

检查整数是否可以划分为质数分区?

检查整数是否可以划分为质数分区?

叮当猫咪 2021-11-09 14:40:42
Python 函数 partition() 将整数 m 作为输入,如果 m 可以被划分为素数,则返回 True,否则返回 False。我试过这个代码,但这不适用于所有测试用例!!例如 - 输入“185”,输出应为“False”,但此代码返回“True”def partition(num):    primelist = primes(num)    for x in primelist:        y= num-x        if y in primelist:            return True        else:            return Falsedef primes(num):    primelist=[]    for i in range(2,num + 1):        for p in range(2,i):            if (i % p) != 0:                primelist.append(i)    return primelistprint(partition(185))
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

只有在循环结束后没有找到可以整除给定数字的数字时,您才应该确定一个数字是质数:


def primes(num):

    primelist=[]

    for i in range(2,num + 1):

        for p in range(2,i):

            if (i % p) == 0:

                break

        else:

            primelist.append(i)

    return primelist

同样,只有在循环结束后,您才应该确定一个数不能被两个素数划分:


def partition(num):

    primelist = primes(num)

    for x in primelist:

        y= num-x

        if y in primelist:

            return True

    return False


查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信