Q77

来源:互联网 发布:淘宝无线端访客 编辑:程序博客网 时间:2024/05/23 21:39


PRIME_MAX = 100
SEARCH_MAX = 1000
list_primes = tools.gen_list_primes(PRIME_MAX)
dict_dict = {}
for i in range(2,SEARCH_MAX+1):
    dict_dict[i] = {}

for i in range(2,SEARCH_MAX+1):
    for j in list_primes:
        dict_dict[i][j] = 0


for n in range(5,SEARCH_MAX+1):
    sum = 0
    num_ind = 0
    for i in list_primes:
        if i <= n/2:
            j = n - i
            list_num = []
            if tools.is_prime(j):
                list_num.append(dict_dict[j][i] + 1)
                #dict_dict[n][i] = dict_dict[j][i] + 1
            else:
                list_num.append(dict_dict[j][i])
                #dict_dict[n][i] = dict_dict[j][i]
            sum += dict_dict[n][i]                 
        else:
            break
    if sum > 5000:
        print n
    breaks = 0
    for key in dict_dict[n]:
        dict_dict[key] = sum
        sum -= list_num[breaks]
        breaks+=1
        if breaks == len(list_num):
            break

原创粉丝点击