|
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.
|