Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770 Форумы портала PHP.SU :: Версия для печати :: Вопрос на собеседовании [2]
И тем самым Вы полностью переписали функцию, а значит она даст не верный результат. Отменять сумирвоание нельзя.
Нельзя. Но меня интересует её поведение. Изучать поведение - ведь можно? В любом случае всегда можно вернуть всё назад как было.
Вообще-то, по условию задачи - допустимо переделать алгоритм. Т.е. можно сделать альтернативный алгоритм, который будет работать в N раз быстрее, но при этом делать то же самое.
Дык и переделывайте но так чтоб она работала единтично предыдущей )
Но судя по тому что я просчитал в ручную, нету никакой зависимости у функции. Так что пока считаю что мой вариант с циклом и массивом единственно правильное решение.... через 2 часа опробую наконец.
Я думаю, решение задачи - сводится к математической проблеме разрешения рекурсивного алгоритма. Говоря проще - пытаюсь привести математический аналог этой функции к явному виду. Выше - я пробую применить для анализа т.н. метод обратной декомпозиции.
Задание всеже на программирование, а не на математику. Плюс оно было на фоне довольно простых заданий. Да и время на него было максимум пол часа. (Добавление)
окончательный вариант. как видите работает не то что с 77 а с 105000.
Жаль что на собеседование я не догадался.. а ведь знал что нужно рекурсию заменить на цикл.
При $n=77, функция ввернет 24, кстати (Добавление)
Akar пишет:
Да и время на него было максимум пол часа.
У меня ощущение, что это задание на проверку системного образования. Предполагаю, что подобные конструкции разбирают в ВУЗах и, если ты знаешь, как это делать, то решишь за 5 минут. А мне часа 4 в общей сложности понадобилось.
Мой вариант более оптимизирован.
Ваш загибается на цифре 1 250, мой отрабатывает при 105 000
Кто круче? (Добавление)
При $n=77 функции возвращают 42 ), что Ваша, что моя.