Genere números de Fibonacci en C++

Jinku Hu 12 octubre 2023
  1. C++ utiliza el método iterativo para imprimir los primeros elementos n en la secuencia de Fibonacci
  2. C++ utiliza el método iterativo para imprimir el elemento n-ésimo en la secuencia de Fibonacci
Genere números de Fibonacci en C++

Este artículo demostrará varios métodos de cómo generar números de Fibonacci en C++.

C++ utiliza el método iterativo para imprimir los primeros elementos n en la secuencia de Fibonacci

Los números de Fibonacci se conocen comúnmente en matemáticas como una secuencia de números donde cada elemento es la suma de los dos anteriores, comenzando por 0 y 1. En este código de ejemplo, tomamos la entrada del usuario como un número entero n y generamos los primeros números n en la secuencia de Fibonacci. La solución es iterativa simple, donde inicializamos los valores iniciales e iteramos n-3 veces para sumar los valores anteriores. En cada iteración, la suma se imprime en el flujo cout y los valores almacenados se desplazan en una ventana numérica. Tenga en cuenta que se implementa la condición if, que comprueba el número entero de entrada - 0 e imprime el valor correspondiente. La primera instrucción cout maneja el caso cuando n es igual a 2, ya que la condición del bucle for se evalúa como falsa y no prosigue.

#include <iostream>

using std::cin;
using std::cout;
using std::endl;
using std::string;

void generateFibonacci(unsigned long long n) {
  if (n == 1) {
    cout << 0 << endl;
    return;
  }

  unsigned long long a = 0;
  unsigned long long b = 1;
  unsigned long long c;

  cout << a << " " << b;

  for (unsigned long long i = 3; i <= n; i++) {
    c = a + b;
    cout << " " << c;
    a = b;
    b = c;
  }
}

int main() {
  unsigned long long num;

  cout << "Enter the number of items to generate Fibonacci series: ";
  cin >> num;

  generateFibonacci(num);

  return EXIT_SUCCESS;
}

Producción :

Enter the number of items to generate Fibonacci series: 10
0 1 1 2 3 5 8 13 21 34

C++ utiliza el método iterativo para imprimir el elemento n-ésimo en la secuencia de Fibonacci

Alternativamente, podemos implementar una función que devuelva el número n-ésimo en la secuencia de Fibonacci. Tenga en cuenta que almacenamos la entrada del usuario en unsigned long long porque queremos poder generar los números más grandes que se pueden almacenar con los tipos C++ incorporados. La función comienza con la instrucción if-else para verificar los primeros tres casos y devolver valores codificados. Por otro lado, si n es mayor que 3, procedemos al bloque de bucle e iteramos hasta obtener el número n-ésimo en la secuencia.

#include <iostream>

using std::cin;
using std::cout;
using std::endl;
using std::string;

unsigned long long generateFibonacci(unsigned long long n) {
  if (n == 1) {
    return 0;
  } else if (n == 2 || n == 3) {
    return 1;
  }

  unsigned long long a = 1;
  unsigned long long b = 1;
  unsigned long long c;

  for (unsigned long long i = 3; i < n; i++) {
    c = a + b;
    a = b;
    b = c;
  }

  return c;
}

int main() {
  unsigned long long num;

  cout << "Enter the n-th number in Fibonacci series: ";
  cin >> num;

  cout << generateFibonacci(num);
  cout << endl;

  return EXIT_SUCCESS;
}

Producción :

Enter the n-th number in Fibonacci series: 10
34
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artículo relacionado - C++ Math