- 피보나치와는 조금 다른 점이라면 두 인접 값의 합이 다음 인덱스에 위치하는 것이 아닌 다다음의 인덱스에 위치한다는 것.
- 수식으로 보자면 Func(N) = Func(N-2) + Func(N-3)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static Long[] seq = new Long[101];
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
seq[0] = 0L;
seq[1] = 1L;
seq[2] = 1L;
seq[3] = 1L;
int T = Integer.parseInt(br.readLine());
while(T-->0) {
sb.append(padovan(Integer.parseInt(br.readLine()))).append('\n');
}
System.out.println(sb);
}
public static long padovan(int N) {
if(seq[N] == null) {
seq[N] = padovan(N - 2) + padovan(N - 3);
}
return seq[N];
}
}