Статьи Прохождение Human Resource Machine — быстрее, меньше, хитрее

Прохождение Human Resource Machine — быстрее, меньше, хитрее

feraklin
Читать в полной версии

Добрый день уважаемые посетители VGTimes.Ru. Спасибо большое Stalxer за написание статей о прохождении данной игры, которые и натолкнули меня на путь оптимизации и написания этого материала. В данной статье мы рассмотрим прохождение некоторых уровней, узнаем пару интересных моментов игры и постараемся сделать наши алгоритмы быстрее и меньше. За дело!

Итак, список сегодняшних номинантов на оптимизацию таков:

  • №16 — Сверхположительность;
  • №35 — Уничтожитель копий;
  • №36 — Упорядочиватель;
  • №40 — Фабрика простоты.

Рядом с заголовком будут написаны числа, а именно: количество команд/количество шагов. К скриншотам также будут добавлены сами программы в комментариях. Это сделано для удобства анализа информации и переноса данных решений в вашу копию игры. На скриншотах на операциях прыжков, если они уходят за рамки, будут подписаны номера операций ПОСЛЕ которых расположена финальная точка прыжка.

Посмотреть прохождение Human Resource Machine от Stalxer можно материалах нашего сайта:

Пожалуй, начнем!

16. Сверхположительность 8/34

Задача: отправьте каждую вещь из ВВОДА в ВЫВОД. Однако, если число отрицательное, сначала избавьтесь от минуса. Задачка заставляет вспомнить школьный курс математики и пораскинуть мозгами.

Как вы видите, я перенес вывод выше ввода. Сделано это для того, чтобы между выводом и вводом не было прыжка. Такой способ уменьшения количества шагов будет практически во всех последующих решениях.

Идем дальше!

35. Уничтожитель копий 16/166

Задача: отправьте всё из ВВОДА на ВЫВОД, за исключением тех значений, которые уже ВЫВОДИЛИСЬ. Избавьтесь от всех дубликатов.

И финальный уровень на сегодня:

40. Фабрика простоты 48/264

Задача: для каждого ВВОДИМОГО числа ВЫВЕДИТЕ его простые МНОЖИТЕЛИ в порядке возрастания.

А вот тут я, как и Stalxer прошел только на скорость. Мое лучшее решение занимает 29 команд, а надо 28. Поэтому я и решил увеличить скорость. Получилось ли у меня — решать вам.

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

Также Stalxer подсказал мне интересную идею, которая строится на баге игры, а именно: любое число больше 4, которое не делится на 2 и 3 является простым. Такие числа подобрала команда разработчиков. Если бы на вход пришло, например, число 25, то данная программа уже бы не сработала. Скажем им спасибо)

На сегодня, пожалуй, все. Если честно, я оставил себе на десерт уровни 37, 39 и 41, так что я думаю, мы еще увидимся) Надеюсь, вам понравилось. Если у вас есть замечания или предложения — пишите их в комментариях или сразу мне в личку. Буду ждать)

Спасибо за внимание!

Администрация выражает благодарность пользователю feraklin за проявленный к интерес.

Комментарии 3
Оставить комментарий
8 лет
Решение 16. Сверхположительность 8/34:

Показать спойлерСкрыть спойлер


36. Упорядочиватель с результатом 31/85:

Показать спойлерСкрыть спойлер
Ответить
8 лет
Решение 35 Уничтожитель копий 16/166:

Показать спойлерСкрыть спойлер


40 Фабрика простоты 48/264:

Показать спойлерСкрыть спойлер
Ответить
8 лет
Простите, но не зацепило, хотя я любитель такого жанра, приелось чтоли...
Ответить