Форум сайта python.su
0
Здравствуйте! Составил код для поиска 1000 простых чисел, подскажите пожалуйста, почему цикл не отключается при а=1000:
a=0
while a<1000:
for n in range(2,10000):
for x in range(2,n):
if n%x==0:
break
else:
print n,
а=а+1
Посоветуйте также как можно улучшить этот код, и как в range для n задать правый предел, чтобы он не зависел от конкретного числа, например если захочу найти 100 000 простых чисел
Отредактировано vkshipilov (Июль 11, 2012 11:38:05)
Офлайн
0
как вам еще такой вариант, он уже работает:
a=0
for n in range(2,10000):
for x in range(2,n):
if n%x==0:
break
else:
a=a+1
print n,
if a==1000:
break
Офлайн
52
Форматируйте ваш код тегами code. Есть много хороших вариантов поиска простых чисел (кстати, ваш не из их числа).
http://stackoverflow.com/questions/567222/simple-prime-generator-in-python
http://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below-n-in-python
Отредактировано fata1ex (Июль 11, 2012 12:19:17)
Офлайн
75
Офлайн