如何在生成和处理python排列时避免内存错误?

时间:2015-04-04 05:46:33

标签: algorithm python-2.7

我在计算排列方面遇到了问题。该程序需要生成 permutations(xrange(num),num))并且对于每个排列,我必须计算连续素数的数量。即数字中每个相邻两位数的总和应为素数。 最大值' num'将是18

primes = permutations(xrange(1,num+1), num) for val in primes: for x in range(0,len(val-1)): if (prime(val[x] + val[x+1])): num_primes += 1

如果' num'范围从10到18,它给出了响应消息 '杀'经过漫长的等待。请帮我解决这个问题..

1 个答案:

答案 0 :(得分:1)

有18个元素的6402373705728000个排列,因此迭代它们需要数年时间。考虑解决这个问题的分析解决方案应该更好。