wordpress

Python Program: Check if Given Number is Fibonacci Number

En este artículo, aprenderemos cómo verificar si un número dado es un número de Fibonacci o no utilizando Python. Los números de Fibonacci son una secuencia de números en la que cada número es la suma de los dos números anteriores. Por ejemplo, la secuencia de Fibonacci comienza con 0 y 1, y los siguientes números son 1, 2, 3, 5, 8, 13, 21, y así sucesivamente.

Método 1: Verificar si un número es un número de Fibonacci

El primer método para verificar si un número dado es un número de Fibonacci es mediante la generación de la secuencia de Fibonacci hasta que el número dado sea menor o igual al número actual en la secuencia. Si el número dado es igual al número actual en la secuencia, entonces es un número de Fibonacci. A continuación se muestra el código en Python para implementar este método:

«`python
def is_fibonacci(n):
a, b = 0, 1
while b < n: a, b = b, a + b return b == n# Ejemplo de uso number = int(input("Ingrese un número: ")) if is_fibonacci(number): print(number, "es un número de Fibonacci") else: print(number, "no es un número de Fibonacci") ```

En este código, la función `is_fibonacci` toma un número `n` como argumento y genera la secuencia de Fibonacci hasta que el número actual en la secuencia sea mayor o igual a `n`. Luego, verifica si el número dado `n` es igual al número actual en la secuencia y devuelve `True` si es así, de lo contrario, devuelve `False`.

Recomendado:  Building a Blockchain using Python: Step-by-Step Guide

Método 2: Verificar si un número es un número de Fibonacci utilizando la fórmula

El segundo método para verificar si un número dado es un número de Fibonacci es utilizando la fórmula matemática. La fórmula para calcular el número de Fibonacci en la posición `n` es:

F(n) = (phi^n – (-phi)^(-n)) / sqrt(5)

donde `phi` es el número áureo, aproximadamente igual a 1.61803.

Si el número dado `n` es un número de Fibonacci, entonces el resultado de la fórmula debe ser un número entero. A continuación se muestra el código en Python para implementar este método:

«`python
import math

def is_fibonacci(n):
phi = (1 + math.sqrt(5)) / 2
x = (phi ** n – (-phi) ** (-n)) / math.sqrt(5)
return x.is_integer()

# Ejemplo de uso
number = int(input(«Ingrese un número: «))
if is_fibonacci(number):
print(number, «es un número de Fibonacci»)
else:
print(number, «no es un número de Fibonacci»)
«`

En este código, la función `is_fibonacci` toma un número `n` como argumento y calcula el resultado de la fórmula utilizando la función `math.sqrt` para calcular la raíz cuadrada y la función `math.is_integer` para verificar si el resultado es un número entero. Devuelve `True` si el resultado es un número entero, de lo contrario, devuelve `False`.

Conclusión

En este artículo, hemos aprendido cómo verificar si un número dado es un número de Fibonacci o no utilizando Python. Hemos discutido dos métodos diferentes: el primero generando la secuencia de Fibonacci y el segundo utilizando la fórmula matemática. Ambos métodos son eficientes y pueden utilizarse según las necesidades del problema. Espero que este artículo haya sido útil y te haya proporcionado una comprensión clara de cómo verificar si un número es un número de Fibonacci en Python.

Recomendado:  Reading NetCDF Data using Python: Top Recommended Python Libraries

Author

osceda@hotmail.com

Leave a comment

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