Programa C++ para imprimir series de Fibonacci usando la plantilla de clase

Dado un número n, la tarea es escribir un programa en C++ para imprimir los n-términos de la serie de Fibonacci usando una plantilla de clase. Los números de Fibonacci son los números en la siguiente secuencia de enteros.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ……..

Ejemplos:

Input: n = 2
Output: 0, 1

Input: n = 9
Output: 0, 1, 1, 2, 3, 5, 8, 13, 21

Acercarse:

  • Crear una clase para la serie de Fibonacci
  • Tome los dos primeros términos de la serie como miembros públicos a y b con valores 0 y 1, respectivamente.
  • Cree un método generate() en esta clase para generar la Serie Fibonacci.
  • Cree un objeto de esta clase y llame al método generar() de esta clase usando ese objeto.
  • La serie de Fibonacci se imprimirá.

A continuación se muestra la implementación del enfoque anterior: 

CPP

// C++ Program to print Fibonacci
// Series using Class template
 
#include <bits/stdc++.h>
using namespace std;
 
// Creating class for Fibonacci.
class Fibonacci {
 
    // Taking the integers as public.
public:
    int a, b, c;
    void generate(int);
};
 
void Fibonacci::generate(int n)
{
    a = 0;
    b = 1;
 
    cout << a << " " << b;
 
    // Using for loop for continuing
    // the Fibonacci series.
    for (int i = 1; i <= n - 2; i++) {
 
        // Addition of the previous two terms
        // to get the next term.
        c = a + b;
        cout << " " << c;
 
        // Converting the new term
        // into an old term to get
        // more new terms in series.
        a = b;
        b = c;
    }
}
 
// Driver code
int main()
{
    int n = 9;
 
    Fibonacci fib;
    fib.generate(n);
    return 0;
}
Producción:

0 1 1 2 3 5 8 13 21

Complejidad de tiempo : O(n)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por me19btech11003 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *