freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-220-heighway-dragon...

1.8 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f4481000cf542c50ff5b 5 Problem 220: Heighway Dragon Problema 220: Dragão Heighway

Description

Seja D0 a string de duas letras "Fa". Para n≥1, deduza Dn de Dn-1 pelas regras de reescrita de string:

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

Assim, D0 = "Fa", D1 = "FaRbFR", D2 = "FaRbFRRLFaLbFR", e assim por diante.

Estas strings podem ser interpretadas como instruções para um programa de computação gráfica, com "F" significando "desenhar para frente uma unidade", "L" significando "virar à esquerda 90 graus", "R" significando "virar à direita 90 graus" e "a "e" b "sendo ignorado. A posição inicial do cursor do computador é (0,0), apontando para cima (0,1).

Então Dn é um desenho exótico conhecido como o Dragão de Heighway da ordem n. Por exemplo, D10 é mostrado abaixo; contando cada "F" como um passo, o ponto destacado em (18,16) é a posição alcançada após 500 passos.

Qual é a posição do cursor após 1012 etapas no D50? Dê sua resposta no formato x, y sem espaços.

Instructions

Tests

tests:
  - text: '<code>euler220()</code> deve retornar 139776, 963904.'
    testString: 'assert.strictEqual(euler220(), 139776, 963904, "<code>euler220()</code> should return 139776, 963904.");'

Challenge Seed

function euler220() {
  // Good luck!
  return true;
}

euler220();

Solution

// solution required