Actualización de «Mínimo producto escalar»
He actualizado las soluciones del ejercicio «Mínimo producto escalar» cuyo enunciado es
El producto escalar de los vectores \(a_1,a_2,\dots,a_n\) y \(b_1,b_2,\dots,b_n\) es \[a_1 \times b_1 + a_2 \times b_2 + \dots + a_n \times b_n\]
Definir la función
menorProductoEscalar :: (Ord a, Num a) => [a] -> [a] -> a
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,
menorProductoEscalar [3,2,5] [1,4,6] == 29 menorProductoEscalar [3,2,5] [1,4,-6] == -19 menorProductoEscalar [1..10^2] [1..10^2] == 171700 menorProductoEscalar [1..10^3] [1..10^3] == 167167000 menorProductoEscalar [1..10^4] [1..10^4] == 166716670000 menorProductoEscalar [1..10^5] [1..10^5] == 166671666700000 menorProductoEscalar [1..10^6] [1..10^6] == 166667166667000000
Nota: Puedes consultar las soluciones aquí.