Это копы и грабители, если вы не знакомы с форматом, щелкните тег, чтобы перейти в вики. На этот вопрос не будет ветки грабителей.
Менты
Ваша задача как копов состоит в том, чтобы выбрать две последовательности из онлайн-энциклопедии целочисленных последовательностей и написать программу, которая принимает n-й элемент одной последовательности в качестве входных данных и выводит n-й элемент второй последовательности. Затем вы делаете ответ, включая код и опуская выбранные последовательности. Грабители попытаются найти последовательности, которые вы выбрали, и, если вам удастся найти последовательности, которые вы имели в виду, или некоторые другие последовательности, для которых ваша программа, вы должны пометить свой ответ как Cracked . Если грабитель сообщает вам о кряке, который, по вашему мнению, недействителен, вы можете представить доказательство того, что это не кряк. В противном случае вы должны пометить это так.
Согласно обычным ответам, которые не были взломаны в течение 7 дней, они могут быть помечены как безопасные. Коп может пометить свой ответ как безопасный, раскрывая последовательности, которые они имели в виду. После того, как в безопасности, ответ больше не может быть взломан
Цель состоит в том, чтобы минимизировать количество байтов вашей программы, оставаясь без изменений.
пример
Следующий код Python переводит n-й элемент A000290 (квадратные числа) в A000217 (треугольные числа):
lambda x:sum(range(0,int(x**.5+1)))
Требования и требования
Если вы выбираете последовательность, которая не была доказана как конечная, вы должны вывести все термины, которые могут существовать, а не только те, которые перечислены на странице OEIS.
В качестве исключения из предыдущего правила языки без целых чисел с бесконечной точностью не должны выводить или вводить числа за пределами своего диапазона.
Размер вашей входной последовательности не должен быть меньше выходной последовательности.
Ваша входная последовательность не должна иметь повторяющихся элементов (в противном случае задача практически невозможна)
OEIS включает индекс на своей странице (первое число после заголовка «OFFSET») по умолчанию, это ваше смещение для n (n равно индексу для первого элемента в последовательности), если вы выбираете другой индекс, который вы должны указать в ваш ответ.
Если вы выберете смещение, отличное от указанного в OEIS, вы все равно должны отобразить все элементы в вашей входной последовательности на соответствующий элемент в вашей выходной последовательности.
Если ваша программа получает входные данные, которых нет в последовательности ввода, она может делать все, что пожелает (неопределенное поведение). Однако, вероятно, в ваших же интересах выводить целое число.
Это неспортивно - намеренно усложнять выполнение кода, будь то выполнение времени или выполнение несвободного выбора языка . Хотя я буду исполнять последнее, я не могу объективно применять первое. Однако, ради забавы, я умоляю вас не пытаться делать первый, поскольку это особенно усложняет задачу для людей с более слабыми компьютерами.
Грабители
Ваша задача как грабителей состоит в том, чтобы выбрать не взломанные, небезопасные ответы и найти последовательности, между которыми они отображаются. Если вы найдете решение, которое работает (не обязательно предполагаемое решение Копса), прокомментируйте последовательности в соответствующем ответе.
Грабителям не стоит сильно беспокоиться о проверке того, что две конкретные последовательности являются решением, следует опубликовать решение, если оно соответствует всем записям в OEIS. Если это не та последовательность, которую имел в виду полицейский, он может предложить доказательство того, что это неверно, или пометить его как взломанный, если он не может его найти.
источник
Ответы:
Желе , 14 байт (взломано @Wolfram)
Попробуйте онлайн!
Должно быть достаточно очевидно, что это делает. На самом деле, в пользу пользователей, не являющихся желе, я даже дам объяснение:
объяснение
Вопрос в том, почему он это делает?
трещина
Рассматриваемые последовательности были A201647 и A201647 . Они конечны и отличаются только последними 2 элементами:
Таким образом, если входной сигнал низкий, я оставляю его прежним, и я просто подгоняю функцию к преобразованию двух последних.
источник
Желе , 7 байт (взломано @JonathanAllan)
Попробуйте онлайн!
Что оно делает
источник
p
,ÆF
выходы(p,1)
иÆd
выходы2
, поэтомуḅ
получают нас2p+1
, что средстваÆẸ
дадут первый премьер,2
подняли к силе этого результата,2^(2p+1)
.Python 3, 256 байт ( взломан! )
Попробуйте онлайн!
Извините, если этот код выглядит ужасно, я думаю, что это мой первый гольф на Python. Приведение в Python облегчает кодирование.
источник
q
?k
кажется неиспользуемой, поэтому вы можете сохранить несколько байтов, удалив ее.Обработка , 184 байта, БЕЗОПАСНО!
Функция, которая принимает int и возвращает int. Пока входной номер находится в
int
диапазоне, программа должна работать нормально.Это не медленно, просто нечитаемо. Удачи!
Я удивлен, что это представление длилось так долго. Ну что ж, по крайней мере, это первая безопасная подача :)
От A000578 до A000290
Другими словами: кубики на квадраты.
объяснение
Отвечая на вопрос « Нет строк (или чисел)» , я обнаружил список констант обработки, представляющих целые числа. Например,
CORNER
имеет значение0
. Полный список можно найти здесь . Чтобы найти значение константы, вы можете простоprint
это.Используя это, я решил поменять некоторые числа комбинациями этих констант, чтобы скрыть это. Итак, вот что вы получаете, когда подставляете константы их соответствующими значениями int.
Даже сейчас, полный ясный код не раскрывается. Цвета остаются. В обработке переменные цвета имеют значения типа int, например, white (
#ffffff
) есть-1
,#fffffe
есть-2
,#fffffd
есть-3
и так далее. Это можно найти поprint
цвету. Итак, давайте упростим цвета.Мы на полпути :) Чтобы понять значения, нам нужно упростить числовые выражения.
Намного понятнее! Теперь давайте упростим логарифм.
Почти все! Теперь мы должны выяснить это
(int)sqrt(red(color(-65536))/16))
.color(-65536)
красный, такrgb(255, 0, 0)
. Теперьred()
функция возвращает значение красного компонента в аргументе (цвет). Так сколько красного в красном? Ответ есть255
. С этим мы получаемПодстановка этого в программе приводит к:
Да, это сделано!
Подводя итог, можно получить квадрат (дважды умноженный в цикле for) корня куба входного числа.
источник
Mathematica (или что-то еще) - Cracked!
Я знаю, что Mathematica - это несвободное программное обеспечение, но эта функция тривиальна для портирования на любой любимый язык, на котором вы хотите ее запустить. Она буквально вычисляет значение заданного полинома степени 9, вычисленного по входному целому числу, а затем принимает целочисленное отношение этого значения и 42-значный номер в последней строке. Например,
f[100]
оценивает до-3024847237
.источник