Думаю, что можно выкладыватся (кто хочет еще подумать, может не подсматривать) Для одного хода у меня получилось такое решение в 54 знака с учетом "=": [vba]
В качестве дополнительного бонуса, решение с помощью UDF, за какое минимальное кол-во ходов можно попасть из одной клетки в другую
Думаю, что можно выкладыватся (кто хочет еще подумать, может не подсматривать) Для одного хода у меня получилось такое решение в 54 знака с учетом "=": [vba]
Прошу меня простить. Совсем недавно столкнулся с этим форумом. Заинтересовала задача. Моё решение для 1, 2, -1 129 символов без =. Так как время давно вышло, выкладываю:
Если вместо *8 использовать *10 и подправить {...}, будет понятнее, но это сэкономило мне 2 символа. Думаю, что можно ещё сэкономить на ЕСЛИОШИБКА, но пока ничего не придумал.
Прошу меня простить. Совсем недавно столкнулся с этим форумом. Заинтересовала задача. Моё решение для 1, 2, -1 129 символов без =. Так как время давно вышло, выкладываю:
Если вместо *8 использовать *10 и подправить {...}, будет понятнее, но это сэкономило мне 2 символа. Думаю, что можно ещё сэкономить на ЕСЛИОШИБКА, но пока ничего не придумал.Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Понедельник, 20.04.2015, 19:32
Выкладываю моё решение не для общего зачёта, а интереса собственного ради. Формула для одного хода, без "=" на 115 знаков. Если есть один ход - выдаёт "1", иначе "0".
Светлый, отличная математическая задумка, браво. Хотя, конечно, на пару "a1 : j1" будет ложное срабатывание, но это уже детали за рамками изначального условия.
Интересная задача.
Выкладываю моё решение не для общего зачёта, а интереса собственного ради. Формула для одного хода, без "=" на 115 знаков. Если есть один ход - выдаёт "1", иначе "0".
Светлый, отличная математическая задумка, браво. Хотя, конечно, на пару "a1 : j1" будет ложное срабатывание, но это уже детали за рамками изначального условия.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279
Сообщение отредактировал Rioran - Четверг, 23.04.2015, 15:19
[offtop]Честно говоря, я весьма впечатлён решениями участников мозгового штурма. Если раньше я считал, что знаю Excel на 20-25%, теперь снизил свою планку <20%. Попытаюсь с новыми знаниями и хитростями пересмотреть свои прежние задачки. Спасибо.
ShAM, спасибо за замечание. По неопытности не учёл. Буду теперь проверять в 2003. Тогда результат весьма скромный: 201 символ
[offtop]Честно говоря, я весьма впечатлён решениями участников мозгового штурма. Если раньше я считал, что знаю Excel на 20-25%, теперь снизил свою планку <20%. Попытаюсь с новыми знаниями и хитростями пересмотреть свои прежние задачки. Спасибо.Светлый
Rioran, в Вашей формуле ложное срабатывание на a1-a4 и на a1-d1. Я тоже наступил на эти грабли, поэтому отказался от подобного алгоритма. Только не воспринимайте, пожалуйста, моё высказывание, как ответное замечание.
Rioran, в Вашей формуле ложное срабатывание на a1-a4 и на a1-d1. Я тоже наступил на эти грабли, поэтому отказался от подобного алгоритма. Только не воспринимайте, пожалуйста, моё высказывание, как ответное замечание.Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Пятница, 24.04.2015, 13:07
Rioran, у Вас в формуле используется завуалированная разница разниц координат, а это линейная зависимость(число шагов). При ней 3+0=2+1. Вот и потребовалась дополнительная проверка. Лучше использовать произведение разниц координат(площадь), это всегда будет 2*1=1*2=2 в любых сочетаниях.
Rioran, у Вас в формуле используется завуалированная разница разниц координат, а это линейная зависимость(число шагов). При ней 3+0=2+1. Вот и потребовалась дополнительная проверка. Лучше использовать произведение разниц координат(площадь), это всегда будет 2*1=1*2=2 в любых сочетаниях.Светлый
Сергей, подскажите, а как Вы посчитали объем Ваших знаний, не зная всего объема возможностей Excel? Иными словами: Какую константу Вы поделили и на что, так, что в результате получилось 20-25% ?[/offtop]
Роман, в твоей формуле можно сэкономить 24 символа, просто поменяв ЛЕВСИМВ() и ПРАВСИМВ() на ЛЕВБ() и ПРАВБ()
Сергей, подскажите, а как Вы посчитали объем Ваших знаний, не зная всего объема возможностей Excel? Иными словами: Какую константу Вы поделили и на что, так, что в результате получилось 20-25% ?[/offtop]Serge_007
Serge_007, не хлебом единым... не формулами одними живы формулисты. Иногда и пофлудить хочется. Заранее прошу прощения за флуд - отвечаю на вопрос гуру. Грубо разделим возможности и ресурсы Excel на 50% VBA и 50% функции. Хотя некоторым это покажется спорным. Сознаюсь, в VBA знаю примерно 5% объектов и их свойств. Не возникало необходимости их изучать. Из имеющихся 350 функций свободно могу использовать 200. Реально приходилось использовать 150. Совсем не пользовался финансовыми и большей частью статистических-вероятностных. Глубоко копал циклические ссылки и итерации. Форматирование, условное форматирование и прочий функционал, типа подбор параметра, поиск решения, фильтры, мне знаком, но он на общую оценку не сильно повлияет:
Код
=5%*50%+150/350*50%
Примерно 24%. Интуиция оказалась близка к хладным числам. Блин, целая статья получилась. Жалко, что не на месте.
Serge_007, не хлебом единым... не формулами одними живы формулисты. Иногда и пофлудить хочется. Заранее прошу прощения за флуд - отвечаю на вопрос гуру. Грубо разделим возможности и ресурсы Excel на 50% VBA и 50% функции. Хотя некоторым это покажется спорным. Сознаюсь, в VBA знаю примерно 5% объектов и их свойств. Не возникало необходимости их изучать. Из имеющихся 350 функций свободно могу использовать 200. Реально приходилось использовать 150. Совсем не пользовался финансовыми и большей частью статистических-вероятностных. Глубоко копал циклические ссылки и итерации. Форматирование, условное форматирование и прочий функционал, типа подбор параметра, поиск решения, фильтры, мне знаком, но он на общую оценку не сильно повлияет:
Код
=5%*50%+150/350*50%
Примерно 24%. Интуиция оказалась близка к хладным числам. Блин, целая статья получилась. Жалко, что не на месте.Светлый