PFH: La semana en Exercitium (15 de julio de 2022)

Esta semana he publicado en Exercitium las soluciones de los siguientes problemas:

A continuación se muestran las soluciones.

1. Número de particiones en k subconjuntos

Definir la función

tal que (numeroParticiones n k) es el número de particiones de conjunto de n elementos en k subconjuntos disjuntos. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

2. Composición de relaciones binarias

Las relaciones binarias en un conjunto A se pueden representar mediante conjuntos de pares de elementos de A. Por ejemplo, la relación de divisibilidad en el conjunto {1,2,3,6} se representa por

La composición de dos relaciones binarias R y S en el conjunto A es la relación binaria formada por los pares (x,y) para los que existe un z tal que (x,z) ∈ R y (z,y) ∈ S.

Definir la función

tal que (composicion r s) es la composición de las relaciones binarias r y s. Por ejemplo,

Nota: Se supone que las relaciones binarias son listas sin elementos repetidos.

Soluciones

El código se encuentra en GitHub.

3. Transitividad de una relación

Una relación binaria R sobre un conjunto A es transitiva cuando se cumple que siempre que un elemento se relaciona con otro y éste último con un tercero, entonces el primero se relaciona con el tercero.

Definir la función

tal que (transitiva r) se verifica si la relación r es transitiva. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

4. Clausura transitiva de una relación binaria

La clausura transitiva de una relación binaria R es la relación transitiva que contiene a R. Se puede calcular
usando la composición de relaciones. Veamos un ejemplo, en el que (R ∘ S) representa la composición de R y S: sea

la relación R no es transitiva ya que (1,2) y (1,5) pertenecen a R pero (1,5) no pertenece; sea

la relación R1 tampoco es transitiva ya que (1,2) y (2,6) pertenecen a R pero (1,6) no pertenece; sea

La relación R2 es transitiva y contiene a R. Además, R2 es la clausura transitiva de R.

Definir la función

tal que (clausuraTransitiva r) es la clausura transitiva de r; es decir, la menor relación transitiva que contiene a r. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

5. Primos cubanos

Un primo cubano es un número primo que se puede escribir como diferencia de dos cubos consecutivos. Por ejemplo, el 61 es un primo cubano porque es primo y 61 = 5³-4³.

Definir la sucesión

tal que sus elementos son los números cubanos. Por ejemplo,

Soluciones

El código se encuentra en GitHub.