https://www.acmicpc.net/problem/2193 이진수 10이 존재할때 1을 1번째 자리 수, 0을 2번째 자리수와 같이 표현할 수 있다.n번째 자리수가 0이라면 n-1번째 자리수는 0또는 1이고, n번째 자리수가 1이라면 n-1번째 자리수는 0이다.즉 n번째 자리수가 0일 경우의 수는 n-1번째 자리수가 0일 경우의 수와 1일 경우의 수의 합이고n번째 자리수가 1일 경우의 수는 n-1번째 자리수가 0일 경우의 수와 같다. 점화식arr[n][m] : n번째 자리수가 m일 경우의 수arr[0][0] = 0arr[0][1] = 1arr[n][0] = arr[n-1][0] + arr[n-1][1]arr[n][1] = arr[n-1][0] C++ code길이 N=90인 이친수는 2,880,06..
https://www.acmicpc.net/problem/10844 45656 이라는 숫자가 존재한다고 할때 4는 1번째 자리 수, 5는 2번째 자리 수 6은 3번째 자리 수, 5는 4번째 자리 수, 6은 5번째 자리 수로 표현할 수 있다.n번째 자리 수가 0일경우 n+1번째 자리수는 1만 가능하며 n번째 자리 수가 9일 경우 n+1번째 자리수는 8만 가능하다.n번째 자리 수가 1~8인 경우는 n+1번째 자리수에 각각 2개의 숫자가 존재할 수 있다. (예: n번째 자리 수가 1인경우 0 또는 2, n번째 자리 수가 4인경우 3 또는 5)즉,n+1번째 자리에서 0이 나올 수 있는 경우의 수
https://www.acmicpc.net/problem/9095 기본숫자는 1,2,3n번째 숫자는 n-3번째 결과에 3을 더하고 n-2번재 결과에 2를 더하고 n-1번째 결과에 1을 더한것의 합계로 표현가능하다.점화식arr[0] = 1arr[1] = 2arr[2] = 4arr[n] = arr[n-1] + arr[n-2] + arr[n-3] C++ code1234567891011121314151617181920#include using namespace std;int main(){ int t; cin >> t; for(int tc = 0; tc > n; int* arr = new int[n]; arr[0] = 1; arr[1] = 2; arr[2] = 4; for(int i = 3; i
https://www.acmicpc.net/problem/11727 https://neroren.tistory.com/78 과 유과 유사한 문제위 문제에서 2x2 기본도형이 하나 더 추가되었다.이 경우 n-2번째 도형에 붙일 수 있는 2x2 기본도형이 2가지 이므로 곱하기 2를 해주어야 한다. 점화식 arr[0] = 1arr[1] = 3arr[n] = arr[n-1] + 2 * arr[n-2] C++ code123456789101112131415#include using namespace std;int main(){ int n; cin >> n; int *arr = new int[n]; arr[0] = 1; arr[1] = 3; for(int i = 2; i