До сих пор я мог использовать рекурсию для распечатки последовательности Фибоначчи.Например, первые 6 терминов (включая 0-й термин) в последовательности:
6
13 8 5 3 2 1 1
, но я не уверен, как я должен использовать этораспечатать все дерево Фибоначчи.Когда программа вводит 6, она должна вывести:
6
13 8 5 3 2 1 1 1 2 1 1 3 2 1 1 1 5 3 2 1 1 1 2 1 1
, и мой код пока:
#include <iostream>
#include <math.h>
#include <vector>
#include <string>
using namespace std;
std::vector<int> list;
int fib(int num);
int main() {
int input, depth = 0, leafs = 0, size = 0;
cin >> input;
int temp = input;
while (temp >= 0) {
cout << fib(temp) << " ";
temp--;
}
return 0;
}
int fib(int n) {
if (n <= 1) {
return 1;
} else {
return fib(n-1) + fib(n-2);
}
}