import java.util.Scanner;
public class baekjoon_9095 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = Integer.parseInt(sc.nextLine());
for (int i = 0; i < T; i++) {
int n = Integer.parseInt(sc.nextLine());
System.out.println(solve(n));
}
}
private static int solve(int n) {
if (n == 0) {
return 1;
}
else if (n == 1) {
return 1;
} else if (n == 2) {
return 2;
} else if (n == 3) {
return 4;
}
return solve(n - 1) + solve(n - 2) + solve(n - 3);
}
}
재귀 연습을 하기 위해 재귀로 풀어보았다. 결국 n을 1,2,3의 합으로 나타내는 방법은 n-1을 나타내는 방법에서 1을 더하는 것, n-2를 나타내는 방법에서 2를 더하는 것, n-3을 나타내는 방법에서 3을 더하는 것이다.
모처럼 자바로 문제를 풀려고하니 매우 어색하다. 지금은 어색하지만 금방 적응할 것이고, 이것이 나중에 도움이 될 것이다.