Introducción
Un número narcisista es aquel que es igual a la suma de cada uno de sus dígitos elevados a la “n” potencia (donde “n” es el número de cifras del número). La metáfora de su nombre alude a lo mucho que parecen “quererse a sí mismos” estas cifras. Por ejemplo, el 153 es un número narcisista puesto que 13 + 53 + 33 = 1 + 125 + 27 = 153. Los primeros números narcisistas son: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474 y 54748.
Fuente: Muy interesante
Solución al algoritmo para determinar si tenemos un número narcisista
Pero bueno, no vamos a ver la definición de un número narcisista porque si vienes buscando el algoritmo significa que ya sabes lo que es. Pues bien, aquí pondré la solución al algoritmo (que al final de cuentas es muy simple) en múltiples lenguajes de programación.
Si quieres que resuelva el algoritmo en otro lenguaje de programación eres libre de dejar un comentario 🙂
Algoritmo
Sin importar el lenguaje de programación, lo que tenemos que hacer es tomar la longitud del número. Esa longitud será a la que elevaremos cada cifra.
Luego recorremos todo el número, tomamos una cifra, la elevamos a la potencia mencionada anteriormente y el resultado lo vamos sumando a otra variable.
Al final comprobamos si la suma y el número que recibimos son iguales; en caso de que sí entonces el número es narcisista.
Soluciones
Por cierto, he puesto mi mayor esfuerzo para solucionar este ejercicio. Sin embargo no prometo que sean los métodos más rápidos (hablando de rendimiento en milisegundos y esas cosas); puede haber mejores. Lo que sí prometo es que:
- Los algoritmos funcionan perfectamente y resuelven el problema
- Siguen las mejores prácticas para que sean entendibles por seres humanos
Dicho esto, aquí está la lista.
- Número narcisista en JavaScript
- Número narcisista en C#
- Algoritmo programado en el lenguaje de programación C++
- Ejercicio resuelto en PHP
- Solución en Java
- Determinarlo con Go & Golang
- Algoritmo en Python
- Número narcisista en Rust
Recuerda que puedes pedir la implementación en otro lenguaje usando los comentarios.
Pingback: Número narcisista en Rust - Parzibyte's blog
Pingback: Número narcisista en C - Parzibyte's blog
Pingback: Cómo saber si un número es narcisista en Python - Parzibyte's blog
Pingback: Usar PHP para comprobar número narcisista - Parzibyte's blog
Pingback: JavaScript: saber si es número narcisista - Parzibyte's blog
Pingback: Determinar si es número narcisista en Java - Parzibyte's blog
Pingback: Comprobar si es número narcisista en Go - Parzibyte's blog
Pingback: Número narcisista en C# - Parzibyte's blog
Pingback: Número narcisista en C++ - Parzibyte's blog