Esta es una pregunta bastante común. Definiré una secuencia y usted jugará un código para generar una entrada dado un índice.
El primer elemento de la secuencia es 2.
El enésimo elemento de la secuencia es el entero positivo más pequeño que no sea n y 1 que comparte al menos un factor con n (que no sea 1) que aún no ha aparecido en la lista.
Casos de prueba
Aquí están los primeros 25 elementos de la secuencia:
1 2
2 4
3 6
4 8
5 10
6 3
7 14
8 12
9 15
10 5
11 22
12 9
13 26
14 7
15 18
16 20
17 34
18 16
19 38
20 24
21 27
22 11
23 46
24 21
25 30
code-golf
number
sequence
permutations
Ad Hoc Garf Hunter
fuente
fuente

Python 3 ,
118117bytes-1 byte gracias a Cameron Aavik !
Pruébalo en línea!
El código es bastante ineficiente (fuerza bruta un valor que no existe en los resultados anteriores y calcula los resultados anteriores nuevamente en cada valor nuevo), por lo que funciona correctamente, pero no recomendaría ejecutarlo en grandes cantidades.
fuente
def f(n,i=3):y quitando lai=3líneaHaskell ,
6059 bytesEDITAR:
all(/=x)era más corto quex`notElem`.ftoma un entero y devuelve un entero.Pruébalo en línea!
Este es un tiempo muy exponencial, por lo que TIO agota el tiempo de espera después de 21, mientras que mi GHCi interpretado llegó a 22 antes de detenerlo en este momento. La siguiente versión de 9 bytes más larga que se memoriza en una lista sube fácilmente a miles:
Pruébalo en línea!
f nutiliza una lista de comprensión para generar candidatosx, tomando el primer paso con!!0.gcd x n>1comprueba esoxyntiene factores comunes.||n<2exenton==1del requisito de factor.all(/=x)$n:map f[1..n-1]comprueba quexno esnni un elemento de secuencia precedente.fuente
all(/=x)$es 1 más corto allíNo incorporado para GCD en C #, así que ...
C # (.NET Core) ,
197 196194 bytesPruébalo en línea!
Una vez más, abstenerse de usar este código para calcular los números en la secuencia para
n>30...whilebucle GCD por unforbucle.fuente
a>0&b>0se puede jugar al golfa*b>0APL (Dyalog) , 46 bytes
Pruébalo en línea!
fuente