Files
2022-02-28 20:22:39 +01:00

1.8 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4481000cf542c50ff5b Problema 220: Heighway Dragon 5 301863 problem-220-heighway-dragon

--description--

Sia D_0 la stringa con due lettere "Fa". Per n ≥ 1, deriva D_n da D_{n - 1} usando le regole per riscrivere le stringhe:

  • "a" → "aRbFR"
  • "b" → "LFaLb"

Così, D_0 = "Fa", D_1 = "FaRbFR", D_2 = "FaRbFRRLFaLbFR", e così via.

Queste stringhe possono essere interpretate come istruzioni da un programma di grafica del computer, con "F" che significa "disegna in avanti di una unità", "L" significa "gira a sinistra di 90 gradi", "R" significa "gira a destra di 90 gradi", e "a" e "b" che vengono ignorati. La posizione iniziale del cursore del computer è (0,0), puntando in alto verso (0,1).

Allora D_n è un disegno esotico conosciuto col nome di Heighway Dragon di ordine n. Per esempio, D_{10} è mostrato qua sotto; contando ogni "F" come uno step, il punto evidenziato a (18,16) è la posizione raggiunta dopo 500 step.

disegno del Heighway Dragon dopo 500 step

Qual è la posizione del cursore dopo {10}^{12} passi in D_{50}? Dai la tua risposta come una stringa nella forma x,y senza spazi.

--hints--

heighwayDragon() dovrebbe restituire una stringa.

assert(typeof heighwayDragon() === 'string');

heighwayDragon() dovrebbe restituire la stringa 139776,963904.

assert.strictEqual(heighwayDragon(), '139776,963904');

--seed--

--seed-contents--

function heighwayDragon() {

  return true;
}

heighwayDragon();

--solutions--

// solution required