시작하기무료로 시작하기

콜라츠

수학에서는 간단한 규칙이 큰 결과를 만들기도 합니다. 예를 들어 Collatz Conjecture는 두 가지 간단한 규칙으로 어떤 정수든 1로 줄일 수 있는지를 묻습니다.
일반적으로 다음과 같이 서술하죠:

  • 짝수라면 2로 나누기
  • 홀수라면 3을 곱하고 1을 더하기
    직접 확인해 볼까요?

참고: 코드가 시간 초과된다면 if-else 문 로직을(또는 힌트) 꼼꼼히 확인해 보세요.

이 연습은 강의의 일부입니다

중급 Java

강의 보기

연습 안내

  • 적절한 종료 조건을 입력하세요.
  • n이 짝수인지 확인하는 메서드를 호출하세요.
  • 홀수인 경우를 올바르게 처리하세요. 이는 원래의 n이 홀수일 때만 실행되어야 합니다.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

class Collatz {
  static boolean isEven(int n) {
    return n % 2 == 0;
  }
  
  public static void main(String[] args) {
    int n = 1634;
    int i = 0;
    System.out.print(n);
    // Enter the appropriate termination condition
    while (____) {
      // Call a method to check if n is even
      if (____(n)) {
        System.out.println(" is even");
        n /= 2;
      } // Handle the odd case correctly. All non-even integers are odd
      ____ {
        System.out.println(" is odd");
        n = n * 3 + 1;
      }
      System.out.print(n);
      i += 1;
    }
    System.out.println(" reached in " + i + " steps");
  }
}
코드 편집 및 실행