Ex) 입력되는 수 n에 대해 홀수이면 3n + 1, 짝수이면 n / 2 을 출력하는 과정을 반복한다. (n이 1이 될 때까지 )
<hide/>
package D220315;
import java.util.Scanner;
public class Collatz {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int m = scan.nextInt();
CollatzMethod(m);
}
public static void CollatzMethod(int n) {
System.out.println(n);
if( n % 2 == 1 ) { //홀수일 때
if(n == 1) return;
n = 3 * n + 1;
CollatzMethod(n);
}else { // 짝수일 때
n = n / 2;
CollatzMethod(n);
}
}
}
'자료구조와 알고리듬 With Java > [Study] BAEKJOON 프로그래머스 CodeUp LeetCode' 카테고리의 다른 글
Code up 3117 0은 빼! (0) | 2022.03.16 |
---|---|
Code up 2016 천단위 구분기호 (0) | 2022.03.16 |
Code up 1920 재귀함수를 이용한 2진수 변환 (0) | 2022.03.16 |
Code up 1714 숫자 거꾸로 출력하기 (0) | 2022.03.13 |
Java로 Stack 구현하기 (0) | 2022.03.11 |