티스토리 뷰

https://www.acmicpc.net/problem/1904

 

1904번: 01타일

지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이

www.acmicpc.net

 

이건 수를 나열해보면 공식을 찾아볼 수 있습니다.

 

1 = 1

2 = 2

3 = 3

4 = 5

5 = 8

6 = 13

 

이걸 보면 N(n) = N(n-1) + N(n-2) 인 것을 볼 수 있습니다. 따라서 그걸 코드로 구현해주면 됩니다. 단, 숫자가 크기 때문에 자료형을 잘 선택해주어야 합니다.

 

#pragma warning(disable:4996)
#include<stdio.h>

long long num[1000001] = { 0,1, 2, 3, };
int main() {
	int n;
	scanf("%d", &n);
	for (int i = 3; i <= n; i++) {
		num[i] = (num[i - 1] + num[i - 2])%15746;
	}
	printf("%lld\n", num[n]);
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함