Definiciones
Una biyección de un conjunto
Sa un conjuntoTes una función a partirSdeTtal manera que uno de los elementosT, se estudia con exactamente un elemento enS.Una biyección dentro de un conjunto
Ses una biyección deSaS.Los números naturales son los enteros que son mayores o iguales que
0.Un subconjunto de un conjunto
Ses un conjunto tal que todos los elementos del conjunto también están enS.Un subconjunto adecuado de un conjunto
Ses un conjunto queSno es igual a un subconjuntoS.
Tarea
Escriba un programa / función que tome un número natural como entrada y genere un número natural. Debe ser una biyección, y la imagen de los números primos bajo el programa / función {f(p) : p ∈ ℙ}, debe ser un subconjunto apropiado de ℙdónde ℙestán los números primos.
Puntuación
Este es el código de golf . La respuesta más corta en bytes gana. Se aplican lagunas estándar .

Respuestas:
Mathematica,
5448 bytesDefine la siguiente biyección:
La idea básica es asignar cada primo al siguiente, para asegurarse de que estén asignados a un subconjunto adecuado. Esto da como resultado una "brecha" en 2 . Para llenar ese espacio, queremos asignar 4 a 2 y luego cada número compuesto al número compuesto anterior, para "burbujear" el espacio. Dado que 2 y 3 son los únicos dos primos adyacentes, podemos expresar ambas asignaciones como " n-1 o si es un primo, entonces n-2 ". Finalmente, esta asignación termina enviando 1 a 0 y hacemos que envíe 0 de nuevo a 1 tomando el valor absoluto de n-1 .
fuente
0?MATL , 21 bytes
Gracias a Emigna por detectar un error, ahora corregido
Pruébalo en línea!
Esto implementa la siguiente biyección. Escriba los primos en una fila y los no primos a continuación:
Luego, la salida se obtiene siguiendo la flecha de la entrada:
Código explicado
fuente
Jalea , 14 bytes
Pruébalo en línea!
Utiliza el algoritmo de Luis.
fuente
JavaScript (ES6),
827775 bytesImplementa la misma lógica que la respuesta de Luis Mendo .
Formateado y comentado
Manifestación
Mostrar fragmento de código
fuente
Jalea , 12 bytes
Pruébalo en línea!
Cómo funciona
fuente