1. Problema
Generar números de Dudeney usando programación funcional.
2. Solución
El cubo perfecto de un número entero positivo se conoce como número de Dudeney: consiste en sumar cada uno de los dígitos y luego elevarlo al cubo; el resultado será el número original (Mukherjee, 2014).
Por ejemplo:
3. Código C#
El método de extensión Digitos() (líneas 12-24) permite descomponer un número en sus dígitos.
En el bloque de código del método Main() (líneas 1-6) se lleva a cabo las siguientes operaciones:
- Línea 3: a través de la función generadora Range() se crea una secuencia de números entre 0 y 1000.
- Línea 4: Se aplica la función filtro Where() para obtener sólo los números que cumplan con el predicado que define un número de Dudeney representando por e:
- La suma de los dígitos de e al cubo es igual al número e; en otras palabras:
Math.pow(e.Digitos().Sum(), 3) == e
4. Literatura & Enlaces
Mukherjee, S (2014). Thinking in LINQ Harnessing the Power of Functional Programming in .NET Applications. United States: Apress.
O
No hay comentarios:
Publicar un comentario
Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.