[코딩문제]피보나치 수열
공부/c++(c, STL)2016. 6. 20. 18:12
#include <iostream>
using namespace std;
/*
Fibonacci(피보나치 수열) 만들기
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ....
처음에 0, 1 로 시작 할 수도 있고 1, 1 로 시작 할 수도 있다.
문제에 따라서 첫 수가 다를 수도 있다.
처음 수와 두번째 수를 더한 것이 그 다음수이고
두번째 수과 그 다음수를 더한것이 그 다다음수,
이처럼 처음과 두번째를 제외하고
이전 수와 그 이전 수를 더한 값이 본인 값인 수열이 피보나치 수열이라고 한다.
*/
int Fibonacci(int n)
{
if (n == 1) return 0;
else if (n == 2) return 1;
else if (n > 0)
{
int first = 0;
int second = 1;
int temp = 0;
int count = n - 2;
for (int i = 0; i < count; i++)
{
temp = first;
first = second;
second += temp;
}
return second;
}
else
{
return -1;
}
}
void main()
{
cout << Fibonacci(10) << endl;
getchar();
}
출처 : 내 머리, 내 손
'공부 > c++(c, STL)' 카테고리의 다른 글
Swap (베타적 OR - XOR 사용) (0) | 2016.06.24 |
---|---|
[코딩문제]계단 오르기 - 3 계단 (0) | 2016.06.23 |
[코딩문제]셀프 넘버(self-number) 풀이 (0) | 2016.06.18 |
[코딩문제]문자열 거꾸로 출력 (0) | 2016.06.16 |
C++11 람다 식 (0) | 2016.06.10 |