PFH: La semana en Exercitium (del 9 al 13 de mayo de 2022)

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

A continuación se muestran las soluciones.

1. Mínimo producto escalar

El producto escalar de los vectores [a1,a2,…,an] y [b1,b2,…, bn] es

Definir la función

tal que (menorProductoEscalar xs ys) es el mínimo de los productos
escalares de las permutaciones de xs y de las permutaciones de
ys. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

2. Particiones de enteros positivos

Una partición de un entero positivo n es una manera de escribir n como una suma de enteros positivos. Dos sumas que sólo difieren en el orden de sus sumandos se consideran la misma partición. Por ejemplo, 4 tiene cinco particiones: 4, 3+1, 2+2, 2+1+1 y 1+1+1+1.

Definir la función

tal que (particiones n) es la lista de las particiones del número n. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

3. Reconocimiento de potencias de 2

Definir la función

tal que (esPotenciaDeDos n) se verifica si n es una potencia de dos (suponiendo que n es mayor que 0). Por ejemplo.

Soluciones

El código se encuentra en GitHub.

4. Conjunto de divisores

Definir la función

tal que (divisores x) es el conjunto de divisores de x. Por ejemplo,

Soluciones

El código se encuentra en GitHub.

5. Número de divisores

Definir la función

tal que (numeroDivisores x) es el número de divisores de x. Por ejemplo,

Soluciones

El código se encuentra en GitHub.