Уведомления

Группа в Telegram: @pythonsu

#1 Июль 11, 2012 11:36:23

vkshipilov
Зарегистрирован: 2012-07-08
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск 1000 простых чисел

Здравствуйте! Составил код для поиска 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)

Офлайн

#2 Июль 11, 2012 12:02:55

vkshipilov
Зарегистрирован: 2012-07-08
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск 1000 простых чисел

как вам еще такой вариант, он уже работает:

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

Офлайн

#3 Июль 11, 2012 12:18:42

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Поиск 1000 простых чисел

Форматируйте ваш код тегами 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)

Офлайн

#4 Июль 11, 2012 12:24:34

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Поиск 1000 простых чисел

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version