freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/project-euler/problem-256-tatami-free-roo...

2.5 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f46c1000cf542c50ff7e 5 Problem 256: Tatami-Free Rooms Problema 256: Habitaciones libres de tatami

Description

Los tatami son tapetes rectangulares, utilizados para cubrir completamente el piso de una habitación, sin superposición.

Suponiendo que el único tipo de tatami disponible tiene dimensiones 1 × 2, obviamente hay algunas limitaciones para la forma y el tamaño de las habitaciones que se pueden cubrir.

Para este problema, consideramos solo habitaciones rectangulares con dimensiones enteras a, by tamaño s = a · b. Usamos el término 'tamaño' para denotar el área de superficie del piso de la habitación y, sin pérdida de generalidad, agregamos la condición a ≤ b.

Hay una regla que se debe seguir al diseñar el tatami: no debe haber puntos en los que se encuentren esquinas de cuatro tapetes diferentes. Por ejemplo, considere los dos arreglos a continuación para una habitación de 4 × 4:

El arreglo de la izquierda es aceptable, mientras que el de la derecha no lo es: una "X" roja en el centro, marca el punto donde se encuentran cuatro tatami.

Debido a esta regla, ciertas habitaciones de tamaño uniforme no pueden cubrirse con tatami: las llamamos habitaciones libres de tatami. Además, definimos T (s) como el número de habitaciones libres de tatami de tamaño s.

La habitación más pequeña sin tatami tiene un tamaño s = 70 y dimensiones de 7 × 10. Todas las demás habitaciones de tamaño s = 70 se pueden cubrir con tatami; son: 1 × 70, 2 × 35 y 5 × 14. Por lo tanto, T (70) = 1.

De manera similar, podemos verificar que T (1320) = 5 porque hay exactamente 5 habitaciones libres de tatami de tamaño s = 1320: 20 × 66, 22 × 60, 24 × 55, 30 × 44 y 33 × 40. De hecho, s = 1320 es el tamaño de habitación más pequeño para el cual T (s) = 5.

Encuentre el tamaño de habitación más pequeño para el cual T (s) = 200.

Instructions

Tests

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

Challenge Seed

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

euler256();

Solution

// solution required