Python Euler Q27项目:什么';这个密码怎么了?

Python Euler Q27项目:什么';这个密码怎么了?,python,math,Python,Math,本程序旨在解决项目Euler问题27: 代码如下: ab=[0,0] b_list=[] for x in range(2,1000): fact=1 y=2 while y*y<=x: if x==2: break if x%y==0: fact+=1 break y+=1 if fact==1: b_list.a

本程序旨在解决项目Euler问题27:

代码如下:

   ab=[0,0]
b_list=[]
for x in range(2,1000):
    fact=1
    y=2
    while y*y<=x:
        if x==2:
            break
        if x%y==0:
            fact+=1
            break
        y+=1
    if fact==1:
        b_list.append(x)

number=0
max_=0
for a in range(-999,1000):
    for b in b_list:
        if a<=-b:
            continue
        n=0
        num_of_primes=0
        while True:
            number=((n*n)+(a*n)+b)
            n+=1
            print number
            if number>0:                
                factors=1
                div=2
                while div*div<=number:
                    if number==2:
                        break
                    if number%div==0:
                        factors+=1
                        break
                    div+=1
                if factors==1:
                    num_of_primes+=1
            else:
                break
        if max_<num_of_primes:
            max_=num_of_primes
            ab[0]=a
            ab[1]=b                
print ab[0]*ab[1]
ab=[0,0]
b_列表=[]
对于范围(21000)内的x:
事实=1
y=2

虽然y*y我想你应该多考虑一下这个问题。另外,您的代码看起来有点迟钝。如果你编写一些函数,而不是一次完成所有的事情,也许会有所帮助。我在那里看到很多代码重复

不管怎样,这是我的两分钱:


程序可能被困在
中,而True:
无限循环,因为只有在
编号时才会中断循环。与流行的观点相反,堆栈溢出不是调试服务。你确实需要自己先做一些工作。例如,您需要告诉我们您的代码应该做什么,您期望发生什么,以及您认为问题可能在哪里。另请参阅和链接的博客文章。我复制粘贴了您的代码,删除了第一行的traling空格并执行(python2.7.5)。有很多输出。是的,但不是我想要的最后一个