midas+son의 크리에이티브(creative) 이야기

#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