Как проверить является ли число числом фибоначчи на php?

Пользователь

от fidel , в категории: PHP , 2 года назад

Как проверить является ли число числом фибоначчи на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 2 года назад

@fidel Используйте ниже функцию isFibonacci() как пример чтобы проверить является ли число Фибоначчи или нет на PHP:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

function isFibonacci(int $num): bool
{
    $a = 0;
    $b = 1;

    if ($num == $a || $num == $b) {
        return true;
    }

    $sum = $a + $b;

    while ($sum <= $num) {
        if ($sum == $num) {
            return true;
        }
        $a = $b;
        $b = $sum;
        $sum = $a + $b;
    }

    return false;
}

// Вывод: true
var_dump(isFibonacci(3));
// Вывод: false
var_dump(isFibonacci(9));
// Вывод: true
var_dump(isFibonacci(13));


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от richard , год назад

@fidel 

Вот пример кода на PHP, который проверяет, является ли заданное число числом Фибоначчи:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
function isFibonacci($n){
    // проверяем, является ли число $n числом Фибоначчи
    $a = 0; $b = 1;
    while ($b < $n) {
        $temp = $a;
        $a = $b;
        $b = $temp + $b;
    }
    return ($b == $n);
}

// пример использования
$n = 8;
if (isFibonacci($n)) {
    echo "$n является числом Фибоначчи";
} else {
    echo "$n не является числом Фибоначчи";
}


В этом примере функция isFibonacci принимает на вход число $n$ и проверяет, является ли оно числом Фибоначчи. Для этого она последовательно вычисляет числа Фибоначчи до тех пор, пока текущее вычисленное число не превысит заданное $n$. Если последнее вычисленное число равно $n$, то $n$ является числом Фибоначчи.


Затем можно вызвать функцию isFibonacci для любого числа $n$ и вывести соответствующее сообщение на экране.