백준온라인저지

2193번 이친수

wonjjong 2020. 7. 30. 17:20

문제 출처 : 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