자료구조와 알고리듬 With Java/[Study] BAEKJOON 프로그래머스 CodeUp LeetCode

Code up 1928 재귀함수 우박수 문제 (basic)

계란💕 2022. 3. 16. 09:29

  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);
		}
	}
	
}