반응형
10870번: 피보나치 수 5
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
재귀 버전으로 간단하게 풀었다. for문으로도 풀어봤다(주석 참고).
#include <iostream>
using namespace std;
int fib(int x){
if(x == 0)
return 0;
if(x == 1 || x == 2)
return 1;
return fib(x - 1) + fib(x - 2);
}
int main(){
int n;
cin >> n;
cout << fib(n) << endl;
/* for 버전
int prepre = 1;
int pre = 1;
int f;
for(int i = 0; i <= n; i++){
if(i == 0)
f = 0;
else if(i == 1 || i == 2)
f = 1;
else{
f = prepre + pre;
prepre = pre;
pre = f;
}
}
cout << f << endl;
*/
return 0;
}
반응형
'알고리즘 문제풀이 > 추천 문제' 카테고리의 다른 글
[ 백준 2609 ] 최대공약수와 최소공배수 (C++) (0) | 2022.01.17 |
---|---|
[ 백준 2309 ] 일곱 난쟁이 (C++) (0) | 2022.01.17 |
[ 백준 2460 ] 지능형 기차2 (C++) (0) | 2022.01.17 |
[ 백준 10818 ] 최소, 최대 (C++) (0) | 2022.01.17 |
[ 백준 3460 ] 이진수 (C++) (0) | 2022.01.17 |