验证哥德巴赫猜想python






想请问一下我的问题出在哪里呢?因为我运行不出结果来

200以内的正偶数(大于等于4)能够分解为两个质数之和。每行放6个式子。


import math
def prime(x):
    if x==1:
        return False
    elif x==2:
        return False
    else:
        for i in range(2,int(math,sqrt(x))+1):
            if x%i==0:
                return False 
        return True

    
def ck_num():
    n=0
    for k in range(int(4.200)):
        for i in range(1,k):
            j=k-i
            if prime(i)and prime(j)==True:
                print(f"{k}={i}+{j}",end="")
                n=n+1
                if n%6==0:
                    print("\n")


ck_num()
- 
  • ```

2也是素数,if x==2: return True
range(int(4.200)): 这是错的,range()里不能有int()
换行只要print()即可,print('\n')会输出2个换行
if prime(i)and prime(j)==True: 只要if prime(i)and prime(j):即可, 要么if prime(i)==True and prime(j)==True: 一个有==一个没有==怪怪的
print(f"{k}={i}+{j} ",end="") 加一个以上的空格,否则式子都连在一起了

import math
def prime(x):
    if x==1:
        return False
    elif x==2:
        return True
    else:
        for i in range(2,int(math.sqrt(x))+1):
            if x%i==0:
                return False
    return True

def ck_num():
    n=0
    for k in range(4,200):
        for i in range(2,k):
            j=k-i
            if prime(i) and prime(j):
                print(f"{k}={i}+{j} ",end="")
                n=n+1
                if n%6==0:
                    print()

ck_num()
关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:Python-绝对素数和哥德巴赫猜想