第二个内存不够了qwq
查看原帖
第二个内存不够了qwq
749028
QAQ5楼主2025/1/1 15:31
# 哥德巴赫猜想
num = int(input())
serial = []
for count in range(4,num+1,2):
    serial.append(count)
# 是质数?
def isPrime(num):
    if num % 2 == 0:
        return False
    for count in range(3,num,2):
        if num % count == 0:
            return False
    return True
# 可加得的质数集
primes = [2]
# 结果集
result = []
for s in serial:
    for count in range(primes[len(primes)-1]+1,s-1):
        if isPrime(count):
            primes.append(count)
    # 不用算集,第一个本来就是最小的
    add = None
    # 也退出外循环
    stop = False
    for p1 in primes:
        for p2 in primes:
            if p1 + p2 == s:
                add = (p1,p2)
                stop = True
                break
        if stop:
            break
    # 第一个本来就是左加数最小的
    result.append(add)
count = 0
for s in serial:
    print(f"{s}={result[count][0]}+{result[count][1]}")
    count+=1
2025/1/1 15:31
加载中...