python利用该函数验证哥德巴赫猜想

设计判断素数的函数prime,若是素数返回True,否则返回False。利用该函数验证哥德巴赫猜想:任意大于等于4的偶数,可以用两个素数之和表示。输出某大于等于4的偶数的所有素数对之和。 如:

                  实例1           

      输入一个大于等于4的偶数60

      60=7+53

      60=13+47

      60=17+43

      60=19+41

      60=23+37

      60=29+31

注意:标点符号都用英文符号,严格按照上述实例的输入输出方式设计程序,运行达到所需效果。

提示:将输入的整数拆成x=a+b两个数之和,只要控制a的变化范围即可,a的取值范围为[2, x/2]。当循环遍历到一个a,则b=x-a,若a和b都是素数,则按要求输出这两个数。

源程序如下:

#判断是否是素数
def isPrime(n):
    for i in range(2,n-1):
        if n % i == 0:
            return False
    else:
        return True

n = int(input("请输入一个大于4的偶数:"))
for i in range(2,n//2):
    if (isPrime(i) and isPrime(n-i)):
        print("%d=%d+%d\n"%(n,i,n-i))

运行结果:

请输入一个大于4的偶数:60
60=7+53

60=13+47

60=17+43

60=19+41

60=23+37

60=29+31

 

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



def check_num():
    k = 0
    for i in range(4,2000,2):
        for j in range(1,i):
            n2 = i -j
            if isPrime(n2) and isPrime(j) and j<=n2:
                print(j,"+",n2,"=", i,end="   ")
                k+=1
                if k%6==0:
                    print("\n")


check_num()