Nota: Esta é uma tentativa de reciclar a (s) pergunta (s) de permutação de guest271314
Existe um padrão interessante que se forma quando você encontra as diferenças entre permutações lexograficamente classificadas dos números da base 10 com dígitos únicos ascendentes. Por exemplo, 123
tem permutações:
123 132 213 231 312 321
Quando você encontra as diferenças entre elas, obtém a sequência
9 81 18 81 9
Quais são todos divisíveis por nove (por causa da soma dos dígitos dos números da base 10), além de palindrômicos.
Notavelmente, se usarmos o próximo número 1234
, obtemos a sequência
9 81 18 81 9 702 9 171 27 72 18 693 18 72 27 171 9 702 9 81 18 81 9
O que estende a sequência anterior e permanece palindrômico em torno de . Esse padrão sempre é válido, mesmo quando você começa a usar mais 10
números, embora o comprimento da sequência seja para números. Observe que, para usar os números acima 0 to 9
, não mudamos para uma base diferente, apenas multiplicamos o número por , por exemplo, .
Seu objetivo é implementar essa sequência, retornando cada elemento como um múltiplo de nove. Por exemplo, os 23 primeiros elementos dessa sequência são:
1 9 2 9 1 78 1 19 3 8 2 77 2 8 3 19 1 78 1 9 2 9 1
Alguns outros casos de teste (0 indexados):
23 => 657
119 => 5336
719 => 41015
5039 => 286694
40319 => 1632373
362879 => 3978052
100 => 1
1000 => 4
10000 => 3
100000 => 3
Regras:
- O envio pode ser:
- Um programa / função que pega um número e retorna o número nesse índice, 0 ou 1 indexado.
- Uma função de programa / que tem um número e retorna-se para a th índice, 0 ou 1 indexado.
- Um programa / função que gera / retorna a sequência infinitamente.
- O programa deve ser capaz de lidar teoricamente com os elemento e além, embora eu entenda se as restrições de tempo / memória fazem com que isso falhe. Em particular, isso significa que você não pode concatenar os dígitos e avaliar como base 10, pois algo como estaria errado.
- Isso é código-golfe , então a implementação mais curta para cada idioma vence!
Notas:
- Este é o OEIS A217626
- Ofereço uma recompensa de 500 por uma solução que elabore os elementos diretamente, sem calcular as permutações reais.
- A sequência funciona para qualquer dígito contíguo. Por exemplo, as diferenças entre as permutações de são as mesmas que para .