Это основной генератор, который я сделал. Я должен иметь возможность генерировать простые числа до 20000. Он должен генерировать количество простых чисел, которые предоставляются ему в качестве аргумента. Тем не менее, он выполняет только до 11 и останавливает D :. Может ли кто-нибудь объяснить, что здесь не так?Почему мой основной генератор ломается?
def find_primes(limit):
prime_holder = [2, 3, 5 ,7]
divided_pass = 0
for i in range(11, 20000):
for j in range(0, len(prime_holder)):
if i%prime_holder[j] != 0:
divided_pass += 1
if divided_pass == len(prime_holder):
prime_holder.append(i)
divided_pass = 0
if len(prime_holder)-1 == limit:
break
return prime_holder
my_primes = find_primes(50)
for x in my_primes:
print x;
raw_input()
Если вы генерируете все простые числа в этом диапазоне, вы должны использовать [Решето Эратосфена] (HTTP://en.wikipedia.org/wiki/Sieve_of_Eratosthenes). –
Я сделал сценарий на основе SoE. Но этот сценарий был первым, что я сделал. Это не сработало, и я не мог понять, почему. – Stormboy