LMF2017: Ejercicios de lógica de primer orden

En la clase de hoy del curso Lógica matemática y fundamentos se han comentado soluciones de ejercicios de lógica de primer orden. Concretamente,

Fracciones que son cuadrados perfectos

Nitesh Singh ha planteado en Mathematics Competitions el siguiente problema:

¿Cuántos números enteros n existen tales que n/(1450−n) es un cuadrado perfecto?

Vamos a generalizarlo y resolverlo con Haskell. La generalización es

Para cada número natural x, calcular los números enteros n tales que n/(x−n) es un cuadrado perfecto.

Escribiremos dos formas de resolverlo y compararemos su eficiencia.

Este ejercicio sirve para ilustrar cómo el prepocesamiento matemático puede ayudar a mejorar la eficiencia de los programas.
Read More “Fracciones que son cuadrados perfectos”