опять задача на перестановки :)
Feb. 25th, 2011 06:06 pmphpшников ищут:
Отбор кандидатов будет включать: выполнение теста на знания, решение двух тестовых задач и личное собеседование. Очень сильно поднимаются Ваши шансы, если пришлете алгоритм словами и php-код решения (или нескольких решений) следующей задачи:
Сделать, чтобы для строки
"{Пожалуйста|Просто} сделайте так, чтобы это {удивительное|крутое|простое} тестовое предложение {изменялось {быстро|мгновенно} случайным образом|менялось каждый раз}."
выдавались все возможные варианты (вложенность не ограничена).
Например, строка "{a|b|c}" порождает три варианта: «a», «b» или «c».
А "{a | b {c|d}}" дает: «a», «b c» и «b d».
мое решение:
шутка :)

Отбор кандидатов будет включать: выполнение теста на знания, решение двух тестовых задач и личное собеседование. Очень сильно поднимаются Ваши шансы, если пришлете алгоритм словами и php-код решения (или нескольких решений) следующей задачи:
Сделать, чтобы для строки
"{Пожалуйста|Просто} сделайте так, чтобы это {удивительное|крутое|простое} тестовое предложение {изменялось {быстро|мгновенно} случайным образом|менялось каждый раз}."
выдавались все возможные варианты (вложенность не ограничена).
Например, строка "{a|b|c}" порождает три варианта: «a», «b» или «c».
А "{a | b {c|d}}" дает: «a», «b c» и «b d».
мое решение:
# print "{Пожалуйста|Просто} сделайте так, чтобы это {удивительное|крутое|простое} тестовое предложение {изменялось {быстро|мгновенно} случайным образом|менялось каждый раз}." | \
perl -lne 's#,#\##g; s#\|#,#g; s#\s#_#g; foreach (glob) { s#_# #g; s#\##,#g; print }'
Пожалуйста сделайте так, чтобы это удивительное тестовое предложение изменялось быстро случайным образом.
Пожалуйста сделайте так, чтобы это удивительное тестовое предложение изменялось мгновенно случайным образом.
Пожалуйста сделайте так, чтобы это удивительное тестовое предложение менялось каждый раз.
Пожалуйста сделайте так, чтобы это крутое тестовое предложение изменялось быстро случайным образом.
Пожалуйста сделайте так, чтобы это крутое тестовое предложение изменялось мгновенно случайным образом.
Пожалуйста сделайте так, чтобы это крутое тестовое предложение менялось каждый раз.
Пожалуйста сделайте так, чтобы это простое тестовое предложение изменялось быстро случайным образом.
Пожалуйста сделайте так, чтобы это простое тестовое предложение изменялось мгновенно случайным образом.
Пожалуйста сделайте так, чтобы это простое тестовое предложение менялось каждый раз.
Просто сделайте так, чтобы это удивительное тестовое предложение изменялось быстро случайным образом.
Просто сделайте так, чтобы это удивительное тестовое предложение изменялось мгновенно случайным образом.
Просто сделайте так, чтобы это удивительное тестовое предложение менялось каждый раз.
Просто сделайте так, чтобы это крутое тестовое предложение изменялось быстро случайным образом.
Просто сделайте так, чтобы это крутое тестовое предложение изменялось мгновенно случайным образом.
Просто сделайте так, чтобы это крутое тестовое предложение менялось каждый раз.
Просто сделайте так, чтобы это простое тестовое предложение изменялось быстро случайным образом.
Просто сделайте так, чтобы это простое тестовое предложение изменялось мгновенно случайным образом.
Просто сделайте так, чтобы это простое тестовое предложение менялось каждый раз.
#
шутка :)