-
[2193] 이친수 (Python)[Python] 알고리즘/Silver 2021. 11. 15. 18:09
[문제]
https://www.acmicpc.net/problem/2193
2193번: 이친수
0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않
www.acmicpc.net
알고리즘 분류는 다이나믹 프로그래밍 입니다.
1자리 이친수 : 1
2자리 이친수 : 10
3자리 이친수 : 100, 101
4자리 이친수 : 1000, 1001, 1010
...
이 과정을 거치면 점화식을 구할 수 있습니다.
[코드]
import sys li = [1, 1] for i in range(2, 91): li.append(li[i - 2] + li[i - 1]) N = int(sys.stdin.readline()) print(li[N - 1])
이 문제의 점화식은 N자리 이친수 = N - 2자리 이친수 + N - 1자리 이친수 입니다.
'[Python] 알고리즘 > Silver' 카테고리의 다른 글
[1850] 최대공약수 (Python) (0) 2021.11.18 [1904] 01타일 (Python) (0) 2021.11.17 [1748] 수 이어 쓰기 1 (Python) (0) 2021.11.11 [17479] 정식당 (Python) (0) 2021.11.10 [23056] 참가자 명단 (Python) (0) 2021.11.09