Рубрики

Программа Python для Как проверить, является ли данное число числом Фибоначчи?

Учитывая число / 'n /', как проверить, является ли n числом Фибоначчи . Первые несколько чисел Фибоначчи 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 141, ..

Примеры :

Input : 8
Output : Yes

Input : 34
Output : Yes

Input : 41
Output : No

Ниже приводится интересное свойство о числах Фибоначчи, которое также можно использовать для проверки, является ли данное число Фибоначчи или нет.
Число есть число Фибоначчи тогда и только тогда, когда один или оба из (5 * n 2 + 4) или (5 * n 2 — 4) являются идеальным квадратом (Источник: Wiki ).

# python программа для проверки, является ли x идеальным квадратом

import math

  
# Сервисная функция, которая возвращает true, если x - идеальный квадрат

def isPerfectSquare(x):

    s = int(math.sqrt(x))

    return s*s == x

  
# Возвращает true, если n - число Фибиначи, иначе false

def isFibonacci(n):

  

    # n - это число Фибиначи, если один из 5 * n * n + 4 или 5 * n * n - 4 или оба

    # - идеальный квадрат

    return isPerfectSquare(5*n*n + 4) or isPerfectSquare(5*n*n - 4)

     
# Полезная функция для проверки вышеуказанных функций

for i in range(1,11):

     if (isFibonacci(i) == True):

         print i,"is a Fibonacci Number"

     else:

         print i,"is a not Fibonacci Number "

Выход:

1 is a Fibonacci Number
2 is a Fibonacci Number
3 is a Fibonacci Number
4 is a not Fibonacci Number 
5 is a Fibonacci Number
6 is a not Fibonacci Number 
7 is a not Fibonacci Number 
8 is a Fibonacci Number
9 is a not Fibonacci Number 
10 is a not Fibonacci Number 

Пожалуйста, обратитесь к полной статье о том, как проверить, является ли данное число числом Фибоначчи? Больше подробностей!

Рекомендуемые посты:

Программа Python для Как проверить, является ли данное число числом Фибоначчи?

0.00 (0%) 0 votes