Aqui estão os primeiros 100 números de uma sequência fácil:
0,1,0,2,1,4,3,7,6,11,10,16,15,22,21,29,28,37,36,46,45,56,55,67,66,79,78,92,91,106,105,121,120,137,136,154,153,172,171,191,190,211,210,232,231,254,253,277,276,301,300,326,325,352,351,379,378,407,406,436,435,466,465,497,496,529,528,562,561,596,595,631,630,667,666,704,703,742,741,781,780,821,820,862,861,904,903,947,946,991,990,1036,1035,1082,1081,1129,1128,1177,1176,1226
Como essa sequência funciona?
n: 0 1 2 3 4 5 6 7 8 9 10 11 12
0, 1-1=0, 2-1=1, 4-1=3, 7-1=6, 11-1=10, 16-1=15,
0+1=1, 0+2=2, 1+3=4, 3+4=7, 6+5=11, 10+6=16, 15+7=22
a(0) = 0
- Para cada ímpar
n
(indexado 0), éa(n-1) + X
(ondeX=1
e aumenta em 1 toda vez que é acessado) - Para cada par
n
(indexado 0), éa(n-1) - 1
Desafio:
Um de:
- Dado um número inteiro de entrada
n
, imprima on
'número th na sequência. - Dado um número inteiro de entrada
n
, imprima os primeirosn
números da sequência. - Emita a sequência indefinidamente sem receber uma entrada ( ou receber uma entrada não utilizada vazia ).
Regras do desafio:
- A entrada
n
pode ser indexada em 0 ou 1. - Se você imprimir (parte da) sequência, poderá usar uma lista / matriz, imprimir em STDOUT com qualquer delimitador (espaço, vírgula, nova linha etc.). Sua chamada.
- Indique qual das três opções você usou em sua resposta.
- Você precisará oferecer suporte a pelo menos os primeiros 10.000 números (o número 10.000 é
12,497,501
).
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 possível.
Casos de teste:
Cole a bin com os primeiros 10.001 números na sequência. Sinta-se livre para escolher o que quiser.
Alguns números mais altos:
n (0-indexed) Output:
68,690 589,772,340
100,000 1,249,975,000
162,207 3,288,888,857
453,271 25,681,824,931
888,888 98,765,012,346
1,000,000 124,999,750,000
ÎGDN+D<
gera a sequência, mas agarrar o enésimo elemento parece ... difícil em 3 bytes.