逐渐发现脑子不够用。。。

python作业验证哥德巴赫猜想:

 

用python验证哥德巴赫猜想 python验证哥德巴赫猜想_python

嗯。递归实在不会。就用循环加条件从句随便做了。

def sushu(m):#判断素数
    for i in range(2,m):#因子直接排除1和m本身
        if m%i==0:#只要再出现一个因子果断返回None
            return None
    else:
        return m
def gede(n):#验证哥德巴赫猜想
    for p in range(2,n):#for循环一个数
        if p==sushu(p) and n-p==sushu(n-p):#直接判断p和n-p是否是不是素数
            return p, n-p
        else:
            continue
def main():
    n=int(input())#输入要验证的数
    if n%2!=0:
        print("Data error!")
    else:
        p,q=gede(n)
        print("{} = {} + {}".format(n,p,q))
main()

  学C语言的时候大概做过类似的题,就是两个for语句嵌套看啥时候符合就break,刚刚做的时候也是这样的思路,但代码太长,有问题找不出来,为此还去B站学了怎么用pycharm debug。。。

  debug途中忽然顿悟,

if p==sushu(p) and n-p==sushu(n-p):#直接判断p和n-p是否是不是素数

直接省下了一个for循环一个条件语句。

懒才是第一生产力!