Рубрики

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

Учитывая число '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 ).

// Java-программа для проверки, является ли х идеальным квадратом

  

class GFG {

    // Служебный метод, который возвращает true, если x - идеальный квадрат

    static boolean isPerfectSquare(int x)

    {

        int s = (int)Math.sqrt(x);

        return (s * s == x);

    }

  

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

    static boolean isFibonacci(int n)

    {

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

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

        return isPerfectSquare(5 * n * n + 4) || isPerfectSquare(5 * n * n - 4);

    }

  

    // Метод драйвера

    public static void main(String[] args)

    {

        for (int i = 1; i <= 10; i++)

            System.out.println(isFibonacci(i) ? i + " is a Fibonacci Number"

                                              : 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

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

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

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

0.00 (0%) 0 votes