soluciones

Solución a algoritmo para determinar número narcisista en muchos lenguajes

Introducción

Función esNarcisista en CPP

Función esNarcisista en CPP

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.

  1. Número narcisista en JavaScript
  2. Número narcisista en C#
  3. Algoritmo programado en el lenguaje de programación C++
  4. Ejercicio resuelto en PHP
  5. Solución en Java
  6. Determinarlo con Go & Golang
  7. Algoritmo en Python
  8. Número narcisista en Rust

Recuerda que puedes pedir la implementación en otro lenguaje usando los comentarios.