#!/usr/bin/python3 import math def isPrime(num): """功能:判断一个数是否为素数。""" if isinstance(num, int): if num <= 3: return num > 1 end = int(math.sqrt(num) + 1) for x in range(2, end): if num % x == 0: return False return True return False def getPrimes(start, end): """功能:获取参数给定范围内的所有素数。""" return tuple((x for x in range(start, end) if isPrime(x))) # 程序功能:验证100以内哥德巴赫的猜想。 # 哥德巴赫的猜想:任一大于2的偶数都可以写成两个素数之和。 prime = getPrimes(2, 100) print(prime) for x in range(4, 101, 2): print("%3d"%x, end="") for p in prime: if p <= x/2: t = x - p if t in prime: # or if isPrime(t) # print(" =%3d+%3d" % (p, t), end = "") else: break print()