피보나치 수열은 다음과 같습니다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,……
이 수열에서 n번째 항은 (n-1)'번째 항과 (n-2)번째 항의 합입니다.
생성하기 위해 재귀 접근 방식을 사용할 수 있지만 동적 프로그래밍에서는 절차가 더 간단합니다. 모든 피보나치 수를 테이블에 저장할 수 있으며 해당 테이블을 사용하여 이 시퀀스에서 다음 항을 쉽게 생성할 수 있습니다.
입력 및 출력
Input: Take the term number as an input. Say it is 10 Output: Enter number of terms: 10 10th fibinacci Terms: 55
알고리즘
genFiboSeries(n)
입력: 최대 용어 수.
출력 - n번째 피보나치 항입니다.
Begin define array named fibo of size n+2 fibo[0] := 0 fibo[1] := 1 for i := 2 to n, do fibo[i] := fibo[i-1] + fibo[i-2] done return fibo[n] End
예시
#include<iostream> using namespace std; int genFibonacci(int n) { int fibo[n+2]; //array to store fibonacci values // 0th and 1st number of the series are 0 and 1 fibo[0] = 0; fibo[1] = 1; for (int i = 2; i <= n; i++) { fibo[i] = fibo[i-1] + fibo[i-2]; //generate ith term using previous two terms } return fibo[n]; } int main () { int n; cout << "Enter number of terms: "; cin >>n; cout << n<<" th Fibonacci Terms: "<<genFibonacci(n)<<endl; }
출력
Enter number of terms: 10 10th Fibonacci Terms: 55