Блог пользователя Nickolas

Автор Nickolas, 7 лет назад, По-русски

В этом году 1032 человека решили хотя бы одну задачу и 34 — все 7 задач!

784A - Numbers Joke

Традиционно в первой задаче Первоапрельского контеста надо определить последовательность целых чисел по названию задачи и на этот раз единственному примеру. Поиск в лоб по одному элементу последовательности в OEIS не даст результата — точнее, даст слишком много, чтобы выбрать какой-то из них. Для разнообразия стоит поискать название задачи, и вуаля — первый же результат по запросу "numbers joke" дает последовательность https://oeis.org/A006753 "Smith (or joke) numbers", третьим элементом которой как раз и окажется 27.

784B - Детская задача

Эта задача — вариант детской загадки, в которой нужно посчитать количество замкнутых контуров в цифрах числа — один в 4, 6, 9 и 0 и два в 8. Но, поскольку мы все-таки программисты, здесь надо было считать контуры в цифрах в шестнадцатеричной записи числа (записывая буквы A..F в верхнем регистре).

784C - INTERCALC

Каждая строка условия — сообщение об ошибке компиляции/выполнения на поистине первоапрельском языке программирования INTERCAL, которые отличаются от настоящих в одном слове. Если сравнить их с настоящими, из измененных слов можно составить условие: FIND XOR OF LARGEST AND LAST ARRAY ELEMENTS.

784D - Чувствительные палиндромы

(Кажется, в русском варианте эту задачу все-таки стоило назвать "Трогательные палиндромы") Требовалось записать заданное число шрифтом Брайля и проверить, будет ли получившаяся запись палиндромом. В шрифте Брайля при зеркальном отображении цифры 3 и 7 остаются собой, цифры 4-6, 5-9 и 8-0 становятся друг другом, а 1 и 2 перестают быть цифрами.

784E - Запутанная схема

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

784F - Crunching Numbers Just for You

Ответ чекера "Results unsatisfactory, try harder" в сочетании с названием задачи должен был натолкнуть на мысль о том, что программа должна демонстрировать всю сложность решения поставленной задачи, то есть выдавать ответ не мгновенно :-) Решение принималось, если оно работало не меньше секунды на каждом тесте.

784G - Калькулятор BF

Единственная в этом году задача с условием требовала сгенерировать программу на Brainfuck, которая бы вычисляла заданное выражение. Можно было пойти долгим путем, генерируя последовательности команд для записи чисел в ячейки памяти, сложения и вычитания значений и затем вывода результата (самая неприятная часть, требующая реализации деления на 10 для получения отдельных цифр). А можно было схитрить: вычислить выражение на нормальном языке (лучше всего на Python) и сгенерировать программу, которая последовательно выведет каждую цифру ответа.

  • Проголосовать: нравится
  • +87
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится

А когда будет доступно дорешивание?

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А мне кто-нибудь объяснит, почему 2 + 3 = 55 в задаче G?

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Должно быть 53 — ASCII-код символа '5'. Brainfuck выводит не число, хранящееся в ячейке, а символ с соответствующим ASCII-кодом.

»
7 лет назад, # |
  Проголосовать: нравится +29 Проголосовать: не нравится

Thanks, that was nice contest.

Btw, why we can't see others' solutions?

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    They must think it won't be a April joke if you see others' solutions, because that may help you get the hang of it and it will not be that funny ;)

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Было бы здорово, если бы можно было посмотреть чужой код.