이 문제를 풀면서 규칙성을 찾았는데 처음으로 찾은 규칙성은 수열이 리스트 a일 때
a[i] = a[i-1] + a[i-5] # (i >= 5)
인 것과
a[i] = a[i-3] + a[i-2] # (i >= 3)
인 것을 찾았다.
첫 번째 식은 리스트에 값을 5개를 넣어야 하고 두 번째 식은 값을 3개를 넣어야 한다. 그래서 두 번째 식을 이용해서 풀었다.
1, 1, 1, 2, 2, 3, 4, 5, 7, 9 순으로 증가하고 리스트의 인덱스가 0부터 시작하므로 0번째 수를 0으로 한다.
리스트에 미리 0번째 수부터 2번째 수까지 넣어준다.
num_list = [0, 1, 1]
입력값 n이 1부터 100까지이므로 반복문을 3부터 100까지 반복한다. num_list에 값을 넣어준다.
테스트 케이스의 개수만큼 n의 값에 따른 num_list[n] 을 반복하여 출력한다.
t = int(input())
num_list = [0, 1, 1]
for i in range(3, 101):
num_list.append(num_list[i-3] + num_list[i-2])
for i in range(t):
n = int(input())
print(num_list[n])