A Série de Fibonacci em C++
No caso da série de Fibonacci, o próximo número é a soma dos dois números anteriores, por exemplo 0, 1, 1, 2, 3, 5, 8, 13, 21 etc.
Os primeiros dois números da série de Fibonacci são 0 e 1.
Existem duas maneiras de escrever o programa da série Fibonacci:
Série Fibonacci sem recursão
Série Fibonacci usando recursão
Série Fibonacci sem usar Recursão
Vejamos agora um exemplo da série Fibonacci sem usar recursão:
1. #include <iostream>
2. using namespace std;
3. int main () {
4. int n1 = 0, n2 = 1, n3, i, numero;
5. cout << "Insira o número de elementos:";
6. cin >> numero;
7. cout << n1 << "" << n2 << ""; // Imprimindo 0 e 1.
8. for (i = 2; i <numero; ++ i) // Loop começa em 2 porque 0 e 1 já estão impressos.
9. {
10. n3 = n1 + n2;
11. cout << n3 << "";
12. n1 = n2;
13. n2 = n3;
14. }
15. return 0;
16. }
Resultado:
Insira o número de elementos: 10.
Série Fibonacci: 0 1 1 2 3 5 8 13 21 34.
*****
Série Fibonacci usando Recursão
Vejamos agora um exemplo da série Fibonacci usando recursão:
1. #include <iostream>
2. using namespace std;
3. void printFibonacci (int n) {
4. static int n1 = 0, n2 = 1, n3;
5. if (n> 0) {
6. n3 = n1 + n2;
7. n1 = n2;
8. n2 = n3;
9. cout << n3 << "";
10. printFibonacci (n-1);
11. }
12. }
13. int main () {
14. int n;
15. cout << "Insira o número de elementos:";
16. cin >> n;
17. cout << "Série Fibonacci:";
18. cout << "0" << "1";
19. printFibonacci (n-2); // n-2 porque os 2 primeiros números já foram impressos.
20. return 0;
21. }
Resultado:
Insira o número de elementos: 15.
Série Fibonacci: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377.
|