코드
#include <iostream>
using namespace std;
int main(){
int N, T;
cin >> T;
long long dp[110];
for(int i = 0; i < T; i++){
cin >> N;
dp[1] = dp[2] = dp[3] = 1;
dp[4] = dp[5] = 2;
for(int i = 6; i <= N; i++){
dp[i] = dp[i-1] + dp[i-5];
}
cout << dp[N] << "\n";
}
return 0;
}
설명
그냥 초반에 쭉 나열해보면서 점화식 생각하고
100이넘어가면 int의 범위를 넘어가서 longlong으로 설정해준다.
long long 의 경우 8바이트 까지 저장가능하고,
int 의 경우 4바이트까지 저장가능해서
큰 숫자의 경우 long long으로 저장하는 것이 좋다!
'하루하나코딩' 카테고리의 다른 글
백준 2133 : 타일채우기 (0) | 2023.01.13 |
---|---|
백준 2294 : 동전 2 c++ (0) | 2023.01.13 |
백준 2293 : 동전 1 c++ (0) | 2023.01.11 |
백준 9465 : 스티커 c++ (0) | 2023.01.10 |
백준 2579 : 계단 오르기 c++ (0) | 2023.01.06 |