Нужно найти число Фибоначчи n больше 100. Написал такую функцию: PHP: public function main(int $n): string { if ($n < 0) { throw new \InvalidArgumentException(); } $array = [0, 1]; do { $array[] = $array[count($array) - 1] + $array[count($array) - 2]; } while (ceil(log10($array[count($array) - 1]) + 1) <= $n); return $array[count($array) - 1]; } Но при проверке тестом не сходятся данные, подсказали что нужно реализовать через строки и сложением через столбик, но все равно не понимаю как реализовать, мб у кого есть идеи? От модератора: для кода кнопка </>
Брр... Чтой-то сложно для Фиббоначи, логарифмы какие-то, массивы. Они гораздо проще программируются. Вот на сишке, без рекурсии: https://russianblogs.com/article/1410874598/ На пыху переписать нетрудно Если разрядности не будет хватать стандартных целых чисел, то, в зависимости от условий, есть уже в пыхе библиотека, которая "складывает в столбик" - bcmath. Если её использовать нельзя, ну придётся повозиться. Помнишь, как руками в столбик складывают? Можно то же самое переписать на пыху.
https://gist.github.com/zeromodule/9e0b78c007adac149308d9073da0f157 - Всего лишь ввёл в гугле "сложение в столбик php". Не проверял, естественно.