1.7 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f4481000cf542c50ff5b | Problema 220: Dragão de Heighway | 5 | 301863 | problem-220-heighway-dragon |
--description--
Considere D_0
como sendo a string de duas letras "Fa". Para n ≥ 1
, derive D_n
de D_{n - 1}
pelas regras de reescrita da string:
- "a" → "aRbFR"
- "b" → "LFaLb"
Assim, D_0
= "Fa", D_1
= "FaRbFR", D_2
= "FaRbFRRLFaLbFR" e assim por diante.
Essas strings podem ser interpretadas como instruções para um programa gráfico do computador, com "F" significando "desenhar uma unidade", "L" significando "virar 90 graus à esquerda", "R" significando "virar 90 graus à direita " e "a" e "b" sendo ignorados. A posição inicial do cursor do computador é (0,0), apontando na direção de (0,1).
Então D_n
é um desenho exótico conhecido como Dragão de Heighway da ordem n
. Por exemplo, D_{10}
é mostrado abaixo. Contando cada "F" como uma etapa, o local destacado em (18,16) é a posição alcançada após 500 etapas.

Qual é a posição do cursor depois de {10}^{12}
etapas em D_{50}
? Dê sua resposta como uma string na forma x,y
sem espaços.
--hints--
heighwayDragon()
deve retornar uma string.
assert(typeof heighwayDragon() === 'string');
heighwayDragon()
deve retornar a string 139776,963904
.
assert.strictEqual(heighwayDragon(), '139776,963904');
--seed--
--seed-contents--
function heighwayDragon() {
return true;
}
heighwayDragon();
--solutions--
// solution required