Python验证哥德巴赫猜想

Python验证哥德巴赫猜想

  • 需求分析:

    1、输入6以上的偶数,如果不满足要求,重新输入
# 验证哥德巴赫猜想
# 分析:
# 1、输入6以上的偶数,如果不满足要求,重新输入


def is_prime(num):
    """
    if the num is prime return true else return false
    :param num: The number to be judged
    :return: if the num is prime return true else return false
    """
    for k in range(2, p):
        if num % k == 0:
            return False
    return True


def my_input():
    """
    :return: return the number that fits the condition
    """
    while True:
        inp = int(input("输入6以上的偶数:"))
        if inp >= 6 and inp % 2 == 0:
            return inp


n = my_input()
maxp = n // 2  # p的最大值
p = 1  # 3,5,7,

while p <= maxp:
    # 2、判断p是否是素数,flag=True表示是素数
    flag = is_prime(p)
    # 3、如果p是素数,就要再次判断q=n-p是否是素数
    if flag:
        q = n - p
        # 填空:再次判断q是否是素数
        flag = is_prime(q)
        # 4、如果p和q都是素数,输出:n=p+q
    if flag:
        print("{}={}+{}".format(n, p, q))
    p = p + 2

print("完成!")

你可能感兴趣的:(python,算法,leetcode)