Правда выигрывает
Отличную игру подсмотрел у Сэма — в ней одиннадцать уровней, в каждом на экране функция, которая должна вернуть «true», аргумент функции вы пишете сами, причём его длина должна быть минимальной. На каждом уровне указан абсолютный минимум.
Мне пока не удалось победить уровнь №6 (30 символов против 22) и 10 (29 против 27), не хватило свободного времени на работе, чтобы додумать, попробую в выходные.
Решил все. №10 — утром, №6 — уже к полуночи. С номером шесть возился очень долго — пришлось через рефлексию отобрать все функции, которые не имеют обязательных параметров, просмотреть большинство и отбросить кучу интересных, но тупиковых идей.
Покажи 6-й!)
Лучше я подтолкну к решению ) Надо взять все встроенные функции, найти в них все, у которых нет обязательных параметров и которые при вызове с параметром запомнят предыдущее значение, а при вызове без него — вернут. Найти можно несложным скриптом :)
Потом уже легко уместить найденное в требуемый объём.
А 10-е решил?
До 10-го не дошел ещё). Про 6-й — хм, интересно. Займусь через часик, спс.
Спасибо, толчка хватило. Правда все-равно пришлось повозиться из-за привычки писать код без notice/warning/etc... Первоначально мой вариант был правильный […], но он явно длиннее варианта с нотайсем) В сумме потратил примерно минут 30.
10-й решил быстро, но в 28 символов) Минут за 5. Еще минут 15 потратил на удаление лишнего символа))))
Я удалил решение всё же :) Вдруг кто-то ещё захочет решить самостоятельно ) Интересно, что в 10-м получилось 28, у меня 29 было, не понимаю как вышло 28 )
Можно на почту: imbolk@gmail.com
[...]
вот так)
Опять же удалил решение. Не, я вообще не знал, что можно. Догадался, пока думал что можно сократить — так как других вариантов не оставалось. И даже в доке пока не нашёл, где написано, что так разрешается.
Ну я подобный подход как-то давно видел в каком-то проекте. Уже и не помню в каком. Тогда тоже удивлялся и в доках искал — не нашел.
Теперь мне интересно, как ты из 29 символов сделал 27, если использовал стандартный подход)
Ну так я использовал стандартный, потом перебрал в уме всё дерево вариантов, понял, что есть несколько решений и все не укладываются, взял самое короткое, подумал, что конструкции языка не выкинуть, это невозможно, значит надо убирать не их, вот и додумался :)
я до сих пор думаю, что есть какой-то вариант для этого)))