freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-315-digital-root-cl...

3.8 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f4a71000cf542c50ffba 5 Problem 315: Digital root clocks Problema 315: Relógios Raiz Digitais

Description

Sam e Max são convidados a transformar dois relógios digitais em dois relógios "raiz digital". Um relógio de raiz digital é um relógio digital que calcula as raízes digitais passo a passo.

Quando um relógio é alimentado com um número, ele irá mostrá-lo e então iniciará o cálculo, mostrando todos os valores intermediários até chegar ao resultado. Por exemplo, se o relógio for alimentado com o número 137, ele mostrará: "137" → "11" → "2" e depois ficará preto, aguardando o próximo número.

Cada número digital consiste em alguns segmentos de luz: três horizontais (superior, intermediário, inferior) e quatro verticais (superior esquerdo, superior direito, inferior esquerdo, inferior direito). O número "1" é constituído por vertical superior direito e inferior direito, o número "4" é formado por meio horizontal e vertical superior esquerdo, superior direito e inferior direito. Número "8" acende todos eles.

Os relógios consomem energia apenas quando os segmentos são ligados / desligados. Ativar um "2" custará 5 transições, enquanto um "7" custará apenas 4 transições.

Sam e Max construíram dois relógios diferentes.

O relógio de Sam é alimentado, por exemplo, número 137: o relógio mostra "137", o painel é desligado, o próximo número ("11") é ligado, o painel é desligado novamente e finalmente o último número ("2 ") está ligado e, depois de algum tempo, desligado. Para o exemplo, com o número 137, o relógio de Sam requer: "137": (2 + 5 + 4) × 2 = 22 transições ("137" ligado / desligado). "11": (2 + 2) × 2 = 8 transições ("11" ligado / desligado). "2": (5) × 2 = 10 transições ("2" ligado / desligado).

Para um total de 40 transições.

O relógio de Max funciona de maneira diferente. Em vez de desligar todo o painel, é inteligente o suficiente para desativar apenas os segmentos que não serão necessários para o próximo número. Para o número 137, o clock de Max requer: "137": 2 + 5 + 4 = 11 transições ("137" on) 7 transições (para desativar os segmentos que não são necessários para o número "11"). "11": 0 transições (o número "11" já está ligado corretamente) 3 transições (para desativar o primeiro "1" e a parte inferior do segundo "1"; a parte superior é comum com o número "2") . "2": 4 transições (para ligar os restantes segmentos para obter um "2") 5 transições (para desativar o número "2").

Para um total de 30 transições.

É claro que o relógio de Max consome menos energia que o de Sam. Os dois relógios são alimentados com todos os números primos entre A = 107 e B = 2 × 107. Encontre a diferença entre o número total de transições necessárias pelo relógio de Sam e o necessário para o de Max.

Instructions

Tests

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

Challenge Seed

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

euler315();

Solution

// solution required