A sequência de Recamán ( A005132 ) é uma sequência matemática, definida da seguinte forma:
Uma explicação verbal alternativa mais simples é a seguinte:
Subtraia a menos que você não possa (o número é negativo ou já foi usado antes); nesse caso, adicione.
Os primeiros termos são
Agora, já existe esse desafio que solicita que você gere o n
th termo da sequência. Este é um pouco diferente.
Desafio
Dado um número n
, desenhe os primeiros n
termos da sequência. O que quero dizer com 'desenhar'? Deixe-me demonstrar:
max([A(y) for y<=n])
n
______
- Comece com a transição entre o primeiro e o segundo termo: ou seja, 0 e 1. Use
|
e-
para desenhar um quadrado (comprimento e altura iguais), subindo. Nesse caso, teremos que perder o-
porque a distância é apenas 1.
||
______
||
______
| |
|-|
Como você pode ver, essa linha também tem uma altura de 2, pois a altura deve ser igual à distância entre os dois termos.
Se continuarmos, chegaremos a:
|--|
| |
|| | |
______
||| |
||| |
| |
|---|
Regras
- Se houver um
-
e|
colidindo, o posterior terá prioridade. - Pode ser que precede / fuga espaços antes / depois da imagem, mas de fuga / precedente
_
s ou-
s não são permitidos (exceção é 0- ou 1- indexação) - Você pode optar por definir o ponto 0 imediatamente antes do primeiro
_
na linha numérica ou logo após. - Nenhum caractere alternativo para
-
,|
ou_
pode ser usado. - Isso é código-golfe , então a resposta mais curta em bytes vence.
Caso de teste
Aqui está outro caso de teste, com n=10
|-------|
||-----||
|| ||
|----| || ||
| | || ||
||--|| || ||
|| || || ||
|||| || || ||
_____________________
||| || ||| ||
||| || ||| ||
| || ||| ||
|---|| ||| ||
| ||| ||
|---||| ||
||------||
|--------|
Não está claro onde a borda esquerda do quadrado deve ser colocada.
—
Daniil Tutubalin 18/07/19
@DaniilTutubalin Não sei ao certo o que você quer dizer.
—
Geza Kerecsenyi 18/07/19
basicamente, a instrução especifica apenas que precisamos desenhar quadrados (largura = altura) e que eles devem alternar entre cima e baixo. Não há instruções sobre o tamanho e a posição dos quadrados. No caso de teste, vejo que 2 quadrados podem ter a mesma posição da borda esquerda.
—
Daniil Tutubalin 18/07/19
Eu acho
—
Geza Kerecsenyi 18/07/19
As you can see, this line also has a height of 2, since the height must be equal to the distance between the two terms.
, assim como You can choose to set the 0 point just before the first _ on the number line, or just after it.
encerrar isso muito bem.
Eu acho que o caso de teste para n = 10 está errado de 13 a 20 em diante.
—
Nick Kennedy