Python:每日一题 135:筛选出能够分解成两个质数之和的

对于下列的一组数字,筛选出能够分解成两个质数之和的,如9可以分解为2+7,而11则无法分解成两个质数之和

5, 6, 8, 13, 14, 15, 16, 17, 20, 21, 24, 26, 27, 30


Python源码:

list1 = [5, 6, 8, 13, 14, 15, 16, 17, 20, 21, 24, 26, 27, 30]
primes = []
for i in range(2, max(list1) + 1):
    for j in range(2, i // 2 + 1):
        if i % j == 0:
            break
    else:
        primes.append(i)
for i in list1:
    for j in primes:
        if i - j in primes:
            print("%d = %d + %d" % (i, j, i-j))
            break
    else:
        print("%d不行" % i)

猜你喜欢

转载自blog.csdn.net/hcmdghv587/article/details/79944603