이것은 내가 만든 주요한 발전기입니다. 나는 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