>  기사  >  백엔드 개발  >  Python에서 소수를 올바르게 인쇄하는 방법: 홀수 출력 문제 해결

Python에서 소수를 올바르게 인쇄하는 방법: 홀수 출력 문제 해결

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-21 12:38:02919검색

How to Correctly Print Prime Numbers in Python: Resolving an Issue with Odd Output

Python에서 소수 인쇄

1에서 100까지의 소수를 나열하려고 시도하는 동안 Python 사용자가 출력이 다음과 같은 문제에 직면했습니다. 소수 대신 홀수를 표시했습니다. 이 문제를 해결하기 위해 문제를 자세히 조사하고 수정된 솔루션을 제공하겠습니다.

아래와 같이 초기 코드는 1부터 100까지의 숫자를 반복하고 각 숫자에 대해 나누어 떨어지는지 확인합니다. 2부터 그 자체까지 임의의 숫자:

<code class="python">for num in range(1, 101):
    for i in range(2, num):
        if num % i == 0:
            break
        else:
            print(num)
            break</code>

이 접근 방식의 문제는 중첩 루프의 종료 기준에 있습니다. 숫자가 인수 i로 나누어지는 것으로 확인되면 내부 루프가 중단되고 print(num) 문이 실행됩니다. 그러나 외부 루프는 다음 i 값으로 동일한 숫자를 확인하기 시작합니다.

이 문제를 해결하려면 2부터 num의 제곱근까지의 모든 숫자로 나누어지는지 확인하도록 루프를 업데이트해야 합니다. 이 제수 중 어느 것도 숫자를 나누지 않으면 소수일 가능성이 높습니다. 수정된 코드는 다음과 같습니다.

<code class="python">for num in range(2, 101):
    prime = True
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            prime = False
            break
    if prime:
        print(num)</code>

이 솔루션은 더 작은 인수에 의한 나눗셈을 반복적으로 확인하여 소수를 효율적으로 감지합니다. 결과적으로 출력에는 1부터 100까지의 소수가 정확하게 표시됩니다.

위 내용은 Python에서 소수를 올바르게 인쇄하는 방법: 홀수 출력 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.