Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ tìm số Fibonacci bằng đệ quy (Recursion)


Dưới đây là ví dụ dãy Fibonacci dùng đệ quy.

Ví dụ

#include <iostream>
using namespace std;

int fib(int x) {
    if ((x == 1) || (x == 0)) {
        return x;
    } else {
        return fib(x-1) + fib(x-2);
    }
}

int main() {
    int x, i = 0;
    cout << "Nhập số hạng của dãy: ";
    cin >> x;
    cout << "\nDãy Fibonacci: ";
    while (i < x) {
        cout << " " << fib(i);
        i++;
    }
    return 0;
}

Kết quả

Nhập số hạng của dãy: 15
Dãy Fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377

Trong chương trình, mã thực tế trong hàm fib:

if ((x==1)||(x==0)) { return x; } else { return fib(x-1)+fib(x-2); }

Trong main(), nhập số hạng, gọi fib() in dãy.

cout << "Nhập số hạng của dãy: "; cin >> x;
cout << "\nDãy Fibonacci: ";
while (i < x) { cout << " " << fib(i); i++; }