어디에서 print 문을 써서 최종 목록을 인쇄 할 수 있습니까? 반환 값은 그대로 유지되며이 기능을 개선하기 위해 생각할 수있는 방법이 있습니까? 나는 기능을 썼다 그러나 즉시 반환하기 전에 상대 품질파이썬 Print 문을 루프로 처리하여 소수를 생성
def buildPrimeList():
primeList = [1, 2]
possiblePrime = 3
print "To display all prime values less than or equal a number..."
x = raw_input("Enter a number higher then 3 ")
while (possiblePrime <= x):
divisor = 2
isPrime = True
while (divisor < possiblePrime and isPrime):
if (possiblePrime % divisor == 0):
isPrime = False
divisor = divisor + 1
if (isPrime):
primeList.append(possiblePrime)
possiblePrime = possiblePrime + 2
return primeList
buildPrimeList()
쓰기가 쉽기 때문에 숫자가 더 낮은 이미 발견 된 소수로 나눌 수 있는지 확인하는 것이 쉬울 수도 있습니다. 그것이 아니라면, 그것은 소수입니다. (예 : 3은 2로 나눌 수 없다 -> 소수이며, 15는 3으로 나눌 수 있으며, 17은 2,3,5,7,11,13으로 나눌 수 없다 -> 소수 임). 우리가 테스트하는 숫자의 절반 이상은 무시할 수 있지만 속도에 어떤 영향을 미치는지 확신 할 수 없습니다. – rplnt
더 정확하게 : 약수를 찾을 때 숫자의 절반이 아닌 테스트중인 숫자의 _root_에서 멈출 수 있습니다. 왜 원래 대답이 아니라 내 대답에 대해 의견을 말하고 있습니까? :) –
그는 인쇄물에 대해 묻는 중이었고 구현에 관한 것이 아니므로 응답을 게시하지 않으려 고했습니다. 그리고 제곱근을 가진 좋은 전화. 구현 및 결과 : https://gist.github.com/1347474 – rplnt