Но! Я ведь потому и создал тему в данном разделе, так как прошу знающих людей составить правильный запрос. Не пример показать, а именно запрос, полноценный.
Ты бы накидал, как должен выглядеть результат запроса (столбцы какие?), а то, по-моему, с этим проблемы в первую очередь.
Мой вариант более оптимизирован.
Ваш загибается на цифре 1 250, мой отрабатывает при 105 000
Кто круче? (Добавление)
При $n=77 функции возвращают 42 ), что Ваша, что моя.
РАПУНЦЕЛь, вы бы хотябы написали откуда данные берутся (из базы данных или из файла, если база данных то какая)
А алгоритм то простой выводить по условию значения.
Вводимые данные затолкать в массив (скорее всего многомерный).
Потом его обработать и вывести таблицу.
При $n=77, функция ввернет 24, кстати (Добавление)
Akar пишет:
Да и время на него было максимум пол часа.
У меня ощущение, что это задание на проверку системного образования. Предполагаю, что подобные конструкции разбирают в ВУЗах и, если ты знаешь, как это делать, то решишь за 5 минут. А мне часа 4 в общей сложности понадобилось.
А что если не пытаться сходу отработать скрипт для 77, а начать последовательно с n-1 до n-77 записывая промежуточные значения в масив.
Ватета здравая мысль. Расписывая ручками дошел до 16, при этом все q($n) до где $n<=15 уже выписаны на бумажке. На $n=16, я к тому же пришел Все впредыдущие значения-то вычислены... Для интереса посмотрел сколько циклов эта рекурсия делает на $n=30. оказалось за 4000 зашкаливает. Всяко сохранять уже вычисленные значения быстрее будет Только как в массив затолкать пока не дотумкал.
Ваще, занимаясь этой головоломкой, пришел к мысли, что ДНК - это ни что иное, как хитроопая рекурсия. (Добавление)
Akar пишет:
Добрый день,
Проходил сегодня собеседование на должность ПХП программиста, и не смог справиться с одним заданием, и теперь мой моск не может выкинуть эту задачку из головы.
У меня моск не справляется от вопроса, а куда требуются такие php-программисты?! И прошел ли ты в итоге собеседование, Ну и сколько давалось времени на решение? (Добавление)
Akar пишет:
//Возможно чтото напутал но пишу в попыхах )[/PHP]
Рекурсию потерял Там не все так просто. Саму рекурсию менять нельзя, насколько я понимаю, т.к. результат изменится. Но мысль, имхо, правильная.
Пораскинул тут мозгами. Попробовал. Работает следующий вариант.
Грузишь свой php, содержащий необходимые функции, в string-переменную, заменяешь в ней названия дублирующихся функций на какие-нибудь свои, а потом полученную переменную-код запускаешь через eval и спокойно вызываешь переименованные функции. У меня все заработало.
Пример.
Имеем три файла. В первых двух функции с одинаковыми именами.
У phpbb и WP в самом деле есть одноимённые функции, начиная с WP 3.x.
Ясно. Я просто не понял, что задача поженить два чужих пакета. Я бы тупо выдрал необходимые функции и все относящееся к ним в отдельный файл и переименовал их. Если чужой код править нельзя. Некрасиво, наверное, зато эффективно.
Есть скрипт, который подтягивает функции форумного движка, проверяет сессию и выводит то, что мне нужно.
Этот скрипт через require подтягиваю в шаблоне первого движка и тут php ругается, что подгружаемый файл хочет переопределить уже объявленную вордпрессом функцию (Cannot redeclare...). Возможно, что там далеко не одна одноименная функция.
Сорри. Идиотский вопрос, возможно, но не пытаетесь ли Вы подгрузить модуль, который уже подгружен. Не вследствии ли этого функции переопределяются? Может попробовать эти функции сразу использовать, не подгружая модуль их описывающий.