728x90
반응형
[백준 1003] 피보나치 함수
문제 출처 : https://www.acmicpc.net/problem/1003
피보나치를 이용해서 fibonacci(0)과 fibonacci(1)의 출력 개수 구하기
피보나치가 이루어지는 과정은 점화식으로 아래와 같이 나타낼 수 있다.
1 | fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) | cs |
클래스로 만들어 zero와 one의 값을 저장시킬 수 있도록 만들었다.
0과 1일 때만 초기값을 정해주면, 2부터는 점화식을 이용해서 값을 얻어낼 수 있다.
- 전체 소스 코드
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 32 33 34 35 36 | #include <iostream> using namespace std; class xy { public : int zero; int one; }; int main() { int N; cin >> N; xy myxy[41]; myxy[0].one = 0; myxy[0].zero = 1; myxy[1].zero = 0; myxy[1].one = 1; for (int i = 2; i < 41; i++) { myxy[i].one = myxy[i - 1].one + myxy[i - 2].one; myxy[i].zero = myxy[i - 1].zero + myxy[i - 2].zero; } for (int i = 0; i < N; i++) { int M; cin >> M; cout << myxy[M].zero << " " << myxy[M].one << endl; } } | cs |
728x90
반응형
'Algorithm > 백준(BOJ)' 카테고리의 다른 글
[백준 11047] 동전 0 (0) | 2018.06.01 |
---|---|
[백준 9012] 괄호 (0) | 2018.05.16 |
[백준 9095] 1, 2, 3 더하기 (0) | 2018.05.03 |
[백준 1932] 숫자 삼각형 (0) | 2018.05.02 |
[백준 1475] 방 번호 - java로 풀기 (0) | 2018.04.21 |