Desafio:
Dado um número inteiro de índice n
, produza o n
'th item nesta sequência ou produza a sequência até e incluindo o índice n
:
25,25,7,28,29,20,21,22,23,14,35,26,7,28,29,20,16,29,12,15,28,21,14,17,30,13,16,29,12,15,28,21,10,6,12,18,15,11,7,13,19,17,13,9,15,21,18,14,10,16,22,19,15,11,17,23,20,16,12,18,24,21,17,13,19,25,23,19,15,21,27,24,20,16,22,28,25,21,17,23,29,16,13,9,15,21,18,14,10,16,22,20,16,12,18,24,21,17,13,19
Como essa sequência funciona?
NOTA: Nesta explicação, o índice n
é 1 indexado.
Coloque os números 1
através x
de duas linhas de comprimento n*6 - 1
, onde x
depende da iteração atual e o comprimento dos números usados, e depois somar os dígitos dos n
'th / mais à direita anéis olímpicos dessas duas linhas.
O primeiro número na sequência é calculado da seguinte forma:
The length of the lines are 5 (because 1*6 - 1 = 5):
12345
67891(0)
Then leave the digits in an Olympic Rings pattern:
1 3 5
7 9
And sum them:
1+3+5+7+9 = 25
Então n=1
resulta em 25
.
O segundo número na sequência é calculado da seguinte maneira:
The length of the lines are 11 (because 2*6 - 1 = 11):
12345678910
11121314151(6)
Then leave the digits in the second/right-most Olympic Rings pattern:
7 9 0
4 5
And sum them:
7+9+0+4+5 = 25
Então n=2
resulta em 25
.
O terceiro número na sequência é calculado da seguinte forma:
The length of the lines are 17 (because 3*6 - 1 = 17):
12345678910111213
14151617181920212(2)
Then leave the digits in the third/right-most Olympic Rings pattern:
1 2 3
0 1
And sum them:
1+2+3+0+1 = 7
Então n=3
resulta em 7
.
etc.
Regras do desafio:
- Quando você gera o
n
'th item na sequência, você pode receber a entrada como indexada 0 em vez de indexada 1, mas lembre-se de que os cálculos den*6 - 1
se tornarão(n+1)*6 - 1
ou(n+1)*5 + n
. - Números únicos de mais de um dígito podem ser divididos no final da primeira linha quando atingimos o comprimento
n*5 + n-1
, portanto, é possível que um número com 2 ou mais dígitos seja parcialmente a parte final da linha 1 e parcialmente a parte principal da linha 2.
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - As regras padrão se aplicam à sua resposta, para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados e programas completos do tipo retorno. Sua chamada.
- As brechas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código.
- Além disso, adicione uma explicação, se necessário.
Casos de teste:
Aqui está uma pasta dos casos de teste de 1 a 1.000 , portanto, fique à vontade para escolher qualquer um deles.
Alguns casos de teste adicionais adicionais:
1010: 24
1011: 24
2500: 19
5000: 23
7500: 8
10000: 8
100000: 25
n=1
então n*5 + n-1
se torna 1*5 + 1-1
, o que por sua vez é 5 - 0 = 5
.
n * 5 + n - 1
igual a n * 6 - 1
?
1*5 + 1-1 = 5
? Não deveria ser1*5 + 5 - 1 = 9
?