freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/project-euler/problem-382-generating-poly...

1.8 KiB

id challengeType title videoUrl localeTitle
5900f4eb1000cf542c50fffd 5 Problem 382: Generating polygons Problema 382: Generando polígonos

Description

Un polígono es una forma plana que consiste en segmentos de línea recta que se unen para formar una cadena o circuito cerrado. Un polígono consta de al menos tres lados y no se intersecta por sí mismo.

Se dice que un conjunto S de números positivos genera un polígono P si: no hay dos lados de P que tengan la misma longitud, la longitud de cada lado de P está en S y S no contiene ningún otro valor.

Por ejemplo: el conjunto {3, 4, 5} genera un polígono con los lados 3, 4 y 5 (un triángulo). El conjunto {6, 9, 11, 24} genera un polígono con los lados 6, 9, 11 y 24 (un cuadrilátero). Los conjuntos {1, 2, 3} y {2, 3, 4, 9} no generan ningún polígono.

Considere la secuencia s, definida como sigue: s1 = 1, s2 = 2, s3 = 3 sn = sn-1 + sn-3 para n> 3.

Sea Un el conjunto {s1, s2, ..., sn}. Por ejemplo, U10 = {1, 2, 3, 4, 6, 9, 13, 19, 28, 41}. Sea f (n) el número de subconjuntos de Un que generan al menos un polígono. Por ejemplo, f (5) = 7, f (10) = 501 y f (25) = 18635853.

Encuentra los últimos 9 dígitos de f (1018).

Instructions

Tests

tests:
  - text: <code>euler382()</code> debe devolver 697003956.
    testString: 'assert.strictEqual(euler382(), 697003956, "<code>euler382()</code> should return 697003956.");'

Challenge Seed

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

euler382();

Solution

// solution required