is_prime
기능을 사용할 수 있다고 가정합니다. 변수 n이 양의 정수와 관련 있다고 가정합니다. 첫 번째 n 소수의 합계를 계산하는 데 필요한 명령문을 작성하십시오. 합계는 변수 total과 연관되어야합니다.처음 n 소수를 계산하는 방법은 무엇입니까?
참고 : is_prime
은 정수를 매개 변수로 취하고 해당 정수가 소수 인 경우에만 True
을 반환합니다. 글쎄, 난 이런 is_prime
기능 썼다 :
def is_prime(n):
n = abs(n)
i = 2
while i < n:
if n % i == 0:
return False
i += 1
return True
을하지만 N == 0을 제외하고 작동합니다. 모든 정수에 대해 작동하도록 수정하려면 어떻게해야합니까? 첫 번째 n 소수의 합계를 구하는 함수 작성 방법과 양수가 아닌 모든 가능한 입력에 대해 작동해야하는 is_prime 함수 수정 방법에 대한 해답을 찾고자합니다.
당신은 요소 2하여 알고리즘을 가속화 단지 (2 전을 증가) 고르지 번호를 테스트해야합니다 ... – DevSolar
@DevSolar '고르지 번호는' '에 대한 이상한 용어입니다 홀수'. 코드는 2를 확인해야하지만 홀수로 진행됩니다. 그것은 또한 N의 제곱근에서 멈출 수 있습니다. 또 다른 거대한 (2보다 큰) 속도가 빨라집니다. 사실, 2와 3을 확인한 후에는 더 큰 속도로 6 ± 1 (5, 7, 11, 13 등)의 배수를 확인할 수 있습니다. –
첫 번째 단락은 첫 번째 * n * 소수의 합을 계산할 코드를 요구합니다. 그것은 "* is_prime' 함수를 사용할 수 있다고 가정하고 쓰지 않습니다. 당신이주의 깊게 읽지 않는 것처럼 들리거나'is_prime'을 어떻게 써야하는지 알아 내려고 노력하고 있습니까? – NVRAM