Joe , 5 3 bytes (+2 ou +3 para -t
sinalizador)
Bem, aparentemente eu não utilizei todo o potencial de Joe. Isso foi possível quando publiquei isso pela primeira vez.
\AR
Aqui, R
fornece o intervalo de 0 a n, exclusivo. Em seguida, \A
toma prefixos sucessivos ( A
é a função de identidade). Exemplos:
Com -t
sinalizador (nota: agora é a saída padrão, mesmo sem o sinalizador):
(\AR)5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
\AR5
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
\AR2
0
0 1
\AR1
0
\AR0
Sem ele:
\AR5
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
(\AR)5
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
\AR2
[[0], [0, 1]]
\AR1
[[0]]
\AR0
[]
As regras mudaram um pouco. Meu código antigo não se comportou corretamente com N = 0. Além disso, agora a saída pode ser apenas uma lista aninhada e -t
pode ser descartada.
1R1+R
Agora, Rn
fornece um intervalo de 0 a n, exclusivo. Se for 0, ele retorna uma lista vazia. 1+
adiciona 1 a cada elemento desse intervalo. 1R
mapeia os valores para intervalos de 1 a x. Liats vazios, quando mapeados, retornam listas vazias.
Exemplo de saída:
1R1+R0
[]
1R1+R5
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
Atualização: Acabei de perceber algo. A função é mapeada automaticamente para classificar 0 elementos. O exemplo a seguir é executado com -t
sinalizador.
1R1+R3 5 8
1
1 2
1 2 3
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
Antigo: 5 bytes (com a -t
bandeira)
1R1R
Essa é uma função anônima que recebe um número, cria uma lista de 1 a N ( 1Rn
) e mapeia esses valores para o intervalo anterior, fornecendo um intervalo de 1 a x para cada item do intervalo de 1 a N.
O -t
sinalizador fornece a saída como uma tabela semelhante a J.
1R1R5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Nota: o idioma é muito novo e não está completo, mas a versão mais recente foi lançada antes deste desafio.