문제 출처 : https://www.acmicpc.net/problem/2193
2193번: 이친수
0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않
www.acmicpc.net
풀이 과정
n= 1 -> 1 1개
n= 2 -> 10 1개
n= 3 -> 100, 101 2개
n= 4 -> 1000, 1001, 1010 3개
n= 5 -> 10000, 10001, 10010, 10100, 10101 5개
예시를 통해 피보나치 수열이 나옴을 알 수 있었습니다. 피보나치 수열의 점화식은 다음과 같습니다.
Fn+2 = Fn+1 + Fn ( F0=0, F1=1 )
n이 90까지 나올 경우 피보나치 수열을 int로 계산할 경우 오버플로우가 발생하기 때문에 long long 타입을 사용했습니다.
소스 코드
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include<iostream>
using namespace std;
int main() {
int n; cin >> n;
long long fib[91];
fib[0] = 0 ;
fib[1] = 1;
for(int i=2; i<= n;i++) {
fib[i] = fib[i-1]+ fib[i-2];
}
cout << fib[n];
}
|
cs |
'백준온라인저지' 카테고리의 다른 글
1110번 더하기 사이클 (0) | 2020.09.19 |
---|---|
2292번 벌집 (0) | 2020.07.31 |
10828번 스택 (0) | 2020.05.21 |
4344번 평균은 넘겠지 (0) | 2020.05.21 |
2753번 윤년 (0) | 2020.05.05 |