View

https://www.acmicpc.net/problem/9095

 

9095번: 1, 2, 3 더하기

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.

www.acmicpc.net

 

문제 요약

정수 n이 주어졌을 때 그 수를 1, 2, 3의 합으로 나타내는 방법의 수를 구하시오.

 

 

문제 해결 아이디어

하나하나 노가다로 구해 본 결과.... ㅎ recursive(n) = recursive(n-1)+recursive(n-2)+recursive(n-3)란 결과를 구할 수 있었다.

 

 

완성된 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main_BOJ_9095_123더하기 {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		int TC = Integer.parseInt(br.readLine());
		
		for (int i = 0; i < TC; i++) {
			int N = Integer.parseInt(br.readLine());
			sb.append(recursive(N)).append("\n");
		}//end of for
		
		System.out.println(sb);
	}//end of main
	
	//recursive(n) = recursive(n-1)+recursive(n-2)+recursive(n-3);
	public static int recursive(int n) {
		
		if (n == 1 || n == 2)
			return n;
		if (n == 3)
			return 4;
		
		return recursive(n-1)+recursive(n-2)+recursive(n-3);
	}
} // end of class
Share Link
reply
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30