Утром за завтраком, еще плохо соображая, нарвался на тестовое задание для претендующих на вакансию пхп-программиста в этих ваших фейсбуках. В задании достаточно подробно описывается интеллектуальная забава
Ханойская башня, и предлагается решить следующую задачу о ней (можно читать наискосок): на стандартный ввод подаются две строки, в первой указано количество штырьков и дисков, во второй - их начальное положение; требуется на стандартный вывод отдать количество шагов решения головоломки и в каждой следующей строке расположение дисков по штырькам на всех этих ходах.
Из инструментов для решения на веб-странице предлагается текстовый редактор, кнопки "Compile and test", "Send answer" (типа, когда все готово) и "Skip task", аяксовый проверятель результатов, компилятор на той стороне, который будет выполнять код и два часа времени.
Как я прошел предлагаемый тест:
1. Три минуты ушло на то, чтобы удивиться и найти метод получения данных из STDIN в PHP (за всю практику ни разу не понадобилось).
Пишем код:
Жмем "Compile and test". Получаем следующий результат:
FAILED
Test Case #01
Your output:
array(3)[
[0] => string(4) "2 3
" ,
... // еще какие-то значения; не помню, поэтому многоточия
]
Expected output:
3
13
12
32
Test case #02
Your output:
...
Expected output:
...
А дальше, как в том анекдоте: "...и тут мне масть поперла!"
2. Пишем код:
2 3'){
echo EXPECTED_OUTPUT_1;
}
else{
echo EXPECTED_OUTPUT_2;
}
?>
Нажимаем "Compile and test" и voilà!
CONGRATULATIONS!
TEST PASSED
"Send answer", чо.
P.S. Да, входные данные для теста были всегда одни и те же, поэтому я считаю, задача решена на отличненько! Пятнадцать минут вместо двух часов.