Debe escribir 3 programas y / o funciones en un idioma.
Todos estos programas deberían resolver la misma tarea, pero todos deberían dar resultados diferentes (pero válidos). (Es decir, para cada par de programas, debe haber alguna entrada que genere conjuntos diferentes (pero válidos) de números de salida).
La tarea
- Se le da un número entero
nmayor que 1 - Debe devolver o generar enteros positivos
ndistintos , y ninguno de ellos debe ser divisible porn. - El orden de los números no importa y una permutación de números no cuenta como salidas diferentes.
Un triplete válido de programas con algunos input => outputpares:
program A:
2 => 5 9
4 => 5 6 9 10
5 => 2 4 8 7 1
program B:
2 => 1 11
4 => 6 9 1 2
5 => 4 44 444 4444 44444
program C (differs only in one number from program B):
2 => 1 13
4 => 6 9 1 2
5 => 4 44 444 4444 44444
Puntuación
- Su puntaje es la suma de las duraciones de los 3 programas o funciones.
- Puntaje más bajo es mejor.
- Si sus programas / funciones comparten código, el código compartido debe contarse en la longitud de cada programa que usa el código.
code-golf
number
arithmetic
number-theory
randomra
fuente
fuente

Respuestas:
Pyth,
1716 bytes5 bytes:
Salidas:
6 bytes:
Salidas:
5 bytes:
Salidas:
Versión alternativa, en orden creciente:
-ShQQfuente
J, 16 bytes
Función 1, 5 bytes
Función 2, 6 bytes
Función 3, 5 bytes
Cómo funciona
Función 1
Como P es primo y P> y , y no puede dividir P e .
Función 2
Si y dividiera P e + y , también dividiría P e + y - y = P e .
Función 3
Si y dividido (y + 1) e algún factor primo Q de y tendría que dividir (y + 1) e .
Pero entonces, Q dividiría tanto y como y + 1 y, por lo tanto, y + 1 - y = 1 .
fuente
Dyalog APL,
1617 bytesfuente
Vitsy , 54 bytes
Programas:
Salidas:
Cómo funciona (usando el primer programa como explicación):
V1V \ [DV * 1 + N '' O1 +] V Capture la entrada implícita como una variable global final. 1 Empuje uno a la pila para su uso posterior. V \ [] Haga todo en los tiempos de entrada de corchetes. D Duplicar el elemento superior de la pila. V Empuje la variable global a la pila. * 1 + Multiplicar, luego sumar 1. Esto lo hace no divisible. N '' O Muestra el número seguido de un espacio. 1+ Agrega uno al número que queda en la pila.Pruébalo en línea!
fuente
Perl, 79
Se agregó un carácter a cada programa porque esto requiere la
-nbandera.Bastante sencillo.
fuente
Mathematica, 12 + 12 + 12 = 36 bytes
Pruebas:
fuente
CJam, 8 + 8 + 8 = 24 bytes
Estas son tres funciones sin nombre que esperan
nestar en la pila y dejan una lista de enteros en su lugar. No estoy seguro de que esto sea óptimo, pero tendré que buscar una solución más corta más adelante.Banco de pruebas.
Resultados:
El primero también funciona como
o
fuente
Python 2, 79 bytes
Tres función anónima que se inician en
1y contar por cada uno den, 2*n, 3*ndenlos términos.fuente
En serio, 20 bytes
Sí, esto no es óptimo ...
fuente
Par 16 bytes
La codificación personalizada, descrita aquí , usa solo un byte por carácter.
Salidas
fuente
Haskell, 54 bytes
Estas tres funciones son bastante sencillas, así que ...
fuente
Octava, 11 + 13 + 13 = 37 bytes
fuente
Python 2, 125 bytes
Cada línea aquí es un programa completo. La solución más obvia en mi mente.
EDIT @ Sherlock9 guardó dos bytes.
fuente
Haskell, 50
Ejemplos:
fuente
Golfscript, 50
5157bytesUna versión de Golfscript de lo que solía ser el código Python de quintopia . Cada función despega
nde la pila.fuente
TI-Basic (TI-84 Plus CE),
5540 bytes en totalSimple, similar a muchas otras respuestas aquí, cada una muestra una lista de los números (X + A) N + 1 para X en el rango (N) y siendo A el programa (1, 2 o 3).
Solución anterior (55 bytes):
Simple, similar a muchas otras respuestas aquí, cada una muestra los números (X + A) N + 1 para X en el rango (N) y siendo A el programa (1, 2 o 3).
fuente