백준 9095
2024. 10. 9. 16:50ㆍ문제 풀이
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
int find[a];
for(int i=0;i<a;i++)
{
scanf("%d",&find[i]);
}
int num[11];
num[0] = 1;
num[1] = 2;
num[2] = 4;
for(int i=3;i<11;i++)
{
num[i]=num[i-1]+num[i-2]+num[i-3];
}
for(int i=0;i<a;i++)
{
printf("%d\n",num[find[i]-1]);
}
}
1이 주어졌을때는 1개의 경우
2일때는 2개의 경우
3일 때는 4개의 경우
4일 때는 7개의 경우
5일 때는 11개의 경우가 있다
4일 경우에는 1 + 2 + 4 = 7 가 되는 규칙이 있는데 이를 수식으로 나타내면
a[i] = a[i-1] + a[i-2] + a[i-3] 으로 만들 수 있다
이를 적용한다면 위의 코드로 나타낼 수 있게 된다