wodus0129   3년 전

다음과 같이 입력했는데 아무것도 출력되지 않습니다.

무엇이 문제인가요?

byeongkeunahn   3년 전

lst에 원소를 추가하려면 8번 줄의 while문에 진입해야 합니다.

  • 조건이 맞지 않아 진입하지 않는 경우, n이나 i가 바뀌지 않으므로 무한 루프를 돌게 됩니다. 아무 것도 출력되지 않습니다.
  • 8번 줄의 while문에 처음으로 진입했다면, n % i == 0입니다. 그리고 i = 2이므로 i != 4 및 i != 6도 만족됩니다. 따라서 i, 즉 2가 lst에 추가되고 루프가 재시작됩니다.
    • 하지만, n에 2 이외의 소인수가 있는 경우, 2로 나누다 보면 결과적으로 조건이 맞지 않는 경우에 도달하게 됩니다.

정리하자면, 주어진 수 n이 2의 거듭제곱 꼴이 아니면 무한루프를 돌게 됩니다.

댓글을 작성하려면 로그인해야 합니다.