freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-149-searching-for-a...

1.9 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f4021000cf542c50ff13 5 Problem 149: Searching for a maximum-sum subsequence Problema 149: Procurando por uma subsequência de soma máxima

Description

Olhando para a tabela abaixo, é fácil verificar que a soma máxima possível de números adjacentes em qualquer direção (horizontal, vertical, diagonal ou anti-diagonal) é 16 (= 8 + 7 + 1).

253296513273184 8

Agora, vamos repetir a pesquisa, mas em uma escala muito maior:

Primeiro, gere quatro milhões de números pseudo-aleatórios usando uma forma específica do que é conhecido como "Gerador de Fibonacci Desfigurado":

Para 1 ≤ k ≤ 55, sk = [100003 - 200003k + 300007k3] (módulo 1000000) - 500000. Para 56 ≤ k ≤ 4000000, sk = [sk 24 + sk 55 + 1000000] (módulo 1000000) - 500000.

Assim, s10 = 393027 e s100 = 86613.

Os termos de s são então organizados em uma tabela 2000 × 2000, usando os primeiros 2000 números para preencher a primeira linha (seqüencialmente), os próximos 2000 números para preencher a segunda linha, e assim por diante.

Finalmente, encontre a maior soma de (qualquer número de) entradas adjacentes em qualquer direção (horizontal, vertical, diagonal ou anti-diagonal).

Instructions

Tests

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

Challenge Seed

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

euler149();

Solution

// solution required