Estaba jugando con algunos números y encontré una secuencia que, por supuesto, está en OEIS. Es A005823 : Números cuya expansión ternaria no contiene 1's . Va:
a (2n) = 3 * a (n) +2
a (2n + 1) = 3 * a (n + 1)
a (1) = 0
a = 0,2,6,8,18,20,24,26,54 ....
Escribí un programa CJam que genera el primer n de estos números al convertir el índice a binario, reemplazando los 1 con 2 y convirtiendo de ternario a decimal.
También noté que se puede obtener cualquier número par tomando la suma de dos números en la secuencia (a veces el número consigo mismo).
El reto:
Dado cualquier número par no negativo como entrada, genera los índices de dos números en la secuencia que se suman. (Tenga en cuenta que a veces son posibles varios pares).
Las normas:
- Especifique si está usando indexación 0 o 1.
- Si sale como una cadena, coloque un delimitador entre los dos índices.
- Puede salir como un número complejo.
- Si lo desea, puede generar cada par válido.
- Code Golf: gana la respuesta más corta
Casos de prueba
Yo uso 0-indexación. Aquí enumero cada salida posible para cada entrada, pero solo necesita emitir una.
0: [0 0] 2: [1 0] 4: [1 1] 6: [2 0] 8: [2 1] [3 0] 10: [3 1] 12: [2 2] 14: [3 2] 16: [3 3] 18: [4 0] 30: [6 2] 32: [6 3] [7 2] 46: [7 5] 50: [7 6] 120: [10 10] 338: [19 18] 428: [30 23] [31 22] 712: [33 27] [35 25] [41 19] [43 17] [49 11] [51 9] [57 3] [59 1] 1016: [38 37] [39 36]Gracias a @Luis Mendo por la ayuda en casos de prueba.
Relacionado: ¿Está dentro del conjunto de Cantor?