За последние 24 часа нас посетили 21462 программиста и 1015 роботов. Сейчас ищут 727 программистов ...

Поиск числа Фибоначчи

Тема в разделе "PHP для новичков", создана пользователем Phontp, 27 сен 2022.

Метки:
  1. Phontp

    Phontp Новичок

    С нами с:
    27 сен 2022
    Сообщения:
    1
    Симпатии:
    0
    Нужно найти число Фибоначчи n больше 100. Написал такую функцию:
    PHP:
    1. public function main(int $n): string
    2. {
    3. if ($n < 0) {
    4. throw new \InvalidArgumentException();
    5. }
    6. $array = [0, 1];
    7. do {
    8. $array[] = $array[count($array) - 1] + $array[count($array) - 2];
    9. } while (ceil(log10($array[count($array) - 1]) + 1) <= $n);
    10. return $array[count($array) - 1];
    11. }
    Но при проверке тестом не сходятся данные, подсказали что нужно реализовать через строки и сложением через столбик, но все равно не понимаю как реализовать, мб у кого есть идеи?

    От модератора: для кода кнопка </>
     
    #1 Phontp, 27 сен 2022
    Последнее редактирование модератором: 28 сен 2022
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Брр... Чтой-то сложно для Фиббоначи, логарифмы какие-то, массивы. Они гораздо проще программируются. Вот на сишке, без рекурсии:
    https://russianblogs.com/article/1410874598/
    На пыху переписать нетрудно

    Если разрядности не будет хватать стандартных целых чисел, то, в зависимости от условий, есть уже в пыхе библиотека, которая "складывает в столбик" - bcmath. Если её использовать нельзя, ну придётся повозиться. Помнишь, как руками в столбик складывают? Можно то же самое переписать на пыху.
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754