Eu estava brincando com alguns números e encontrei uma sequência que, é claro, está no OEIS. É A005823 : Números cuja expansão ternária não contém 1's . Vai:
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 ....
Escrevi um programa CJam que gera o primeiro n desses números convertendo o índice em binário, substituindo o 1 por 2 e convertendo de ternário para decimal.
Também notei que qualquer número par pode ser obtido pela soma de dois números na sequência (às vezes o número em si).
O desafio:
Dado qualquer número par não negativo como entrada, produza os índices de dois números na sequência que soma a ele. (Observe que às vezes vários pares são possíveis.)
As regras:
- Especifique se você está usando a indexação 0 ou 1.
- Se você estiver produzindo como uma sequência, coloque um delimitador entre os dois índices.
- Você tem permissão para emitir como um número complexo.
- Se desejar, você pode gerar todos os pares válidos.
- Code Golf: menor resposta ganha
Casos de teste
Eu uso a indexação 0. Aqui, listo todas as saídas possíveis para cada entrada, mas você só precisa produzir uma.
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]Agradecemos a @Luis Mendo pela ajuda no caso de teste.
Relacionado: Está dentro do conjunto Cantor?