백준 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] 으로 만들 수 있다

이를 적용한다면 위의 코드로 나타낼 수 있게 된다

'문제 풀이' 카테고리의 다른 글

1, 2, 3 더하기  (0) 2024.11.13
백준 11057번  (1) 2024.10.09
백준 1991번  (1) 2024.10.02
백준 10828  (0) 2024.09.25
백준 2346번  (0) 2024.09.25