Определения
Биекция из набора
S
к наборуT
является функцией от ,S
чтобыT
таким образом, что один из элементов вT
сопоставляются ровно один элементомS
.Биекция в наборе
S
является биекцией отS
доS
.В натуральных числах целых числа , которые больше или равно
0
.Подмножество множества
S
представляет собой набор таким образом, что каждый элемент в наборе также находится вS
.Собственное подмножество множества
S
представляет собой набор , который является подмножеством ,S
которое не равноS
.
задача
Напишите программу / функцию, которая принимает натуральное число в качестве входных данных и выводит натуральное число. Это должна быть биекция, и изображение простых чисел в программе / функции {f(p) : p ∈ ℙ}
должно быть правильным подмножеством ℙ
, где ℙ
есть простые числа.
счет
Это код-гольф . Кратчайший ответ в байтах побеждает. Применяются стандартные лазейки .
Ответы:
Mathematica,
5448 байтовОпределяет следующую биекцию:
Основная идея состоит в том, чтобы сопоставить каждое простое число следующему, чтобы гарантировать, что они сопоставлены с правильным подмножеством. Это приводит к "разрыву" в 2 . Чтобы заполнить этот пробел, мы хотим отобразить 4 к 2 и затем каждое другое составное число к предыдущему составному номеру, чтобы «увеличить» разрыв. Поскольку 2 и 3 являются единственными двумя смежными простыми числами, мы можем выразить оба этих отображения как « n-1 или, если это простое число, то n-2 ». Наконец, это отображение заканчивается отправкой 1 в 0, и мы заставляем его отправлять 0 обратно в 1 , принимая абсолютное значение n-1 .
источник
0
?MATL , 21 байт
Спасибо Emigna за обнаружение ошибки, теперь исправлена
Попробуйте онлайн!
Это реализует следующую биекцию. Запишите простые числа в ряд и не простые числа ниже:
Затем результат получается, следуя стрелке из ввода:
Объясненный код
источник
Желе , 14 байт
Попробуйте онлайн!
Использует алгоритм Луиса.
источник
JavaScript (ES6),
827775 байтРеализует ту же логику, что и ответ Луиса Мендо .
Отформатировано и прокомментировано
демонстрация
Показать фрагмент кода
источник
Желе , 12 байт
Попробуйте онлайн!
Как это устроено
источник