【发布时间】:2014-07-16 16:07:17
【问题描述】:
我试图找到 13195 的最大素数:
def problem3():
divisors = []
primes = []
num = 13195
for a in range(2, num):
if num % a == 0:
divisors.append(a)
print divisors #This is the list of all divisors of the number
// At this point divisors looks like:
// [5, 7, 13, 29, 35, 65, 91, 145, 203, 377, 455, 1015, 1885, 2639]
print ""
primes = divisors
for elements in divisors:
for a in range(2,elements):
if elements % a == 0:
primes.remove(elements)
print divisors
break
print primes
这是我得到的输出:
[5, 7, 13, 29, 65, 145, 377, 1015, 2639]
所以它对前四个素数效果很好,但是一旦它开始删除不是素数的数字,代码似乎会跳过检查除数列表中的下一个元素,并继续前进。为什么会这样?
【问题讨论】: