?

Log in

No account? Create an account
nyaload

Журнал Пушыстого

Журнал Пушыстого

Previous Entry Share Next Entry
3 решения
nyaload
_winnie
По сети гуляет вот такая программистская задача: http://dobrokot.ru/pics/i2014-09-30__12-57-29_75kb.jpg
Она простенькая, хотя бы одно решение вы придумаете очень быстро.

Написал для неё брутфорсер ( https://gist.github.com/dobrokot/47f4bd6e1ecb4a9157eb ) , решений действительно только 3.

В ходе брутфорса было сгенерировано 13000 исходников, из которых скомпилировалось 794 бинарника. 1 программа зависла, эта та, в которой printf("-") заменился на dprintf("-"). Точнее, не зависла, а попыталась сделать очень много системных вызовов на некорректном дескрипторе.





(спасибо mehas@ с closedcircles за ссылку )
Tags:

  • 1
Это смотря как считать решения. 21 включает в себя 20, например.

шо-то не так. у меня уже 9 программ есть с одним только substitution.

Какие-то ещё, отличные от ( спойлер) https://gist.github.com/anonymous/004d35770925850376be ?

я спойлер не смотрел, но пардон. я сначала думал, что указанная программа уже печатает 20 минусов.

Указанная программа вываливается в UB. А UB не гарантирует никаких минусов.

Ну да, именно так.

Edited at 2014-09-30 10:01 am (UTC)

да, у меня тоже такие варианты выходят

А какие решения-то?

На всякий случай: там похожая, но другая задача, поэтому число решений может быть другое.

Слышал ее в 2007, тоже писал брутфорс, но там можно было еще и удалять.

очень круто, спасибо :)

Насчёт брутфорса. Не рассмотрена вставка символа в самом конце.

Ну и замена сделана несколько странно. Естественнее было бы code[:i] + c + code[i+1:].

Угу. Писал до завтрака, максимально быстро

Но идея брутфорса — да.

А i--- не сработает?

  • 1