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

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

No te vayas sin seguirme en Twitter, Facebook y GitHub, así me motivas a escribir más posts.
Igualmente te invito a suscribirte en la parte superior derecha escribiendo tu correo en el formulario.
Si tienes dudas déjalas en un comentario


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

8 Comments

Número narcisista en C++ - Parzibyte's blog · octubre 2, 2018 a las 6:46 pm

[…] Nota: si quieres saber qué es un número narcisista, así como el algoritmo para determinarlo lee: Solución al algoritmo de número narcisista en muchos lenguajes de programación. […]

Número narcisista en C# - Parzibyte's blog · octubre 2, 2018 a las 7:02 pm

[…] Ahora veamos cómo determinar si un número es narcisista utilizando el lenguaje C# también pronunciado C Sharp. Recuerda que si quieres saber el algoritmo así como su definición te recomiendo leer: Algoritmo número narcisista. […]

Comprobar si es número narcisista en Go - Parzibyte's blog · octubre 2, 2018 a las 10:55 pm

[…] Si quieres conocer más sobre el tema, lee: algoritmo para calcular número narcisista. […]

Determinar si es número narcisista en Java - Parzibyte's blog · octubre 2, 2018 a las 11:07 pm

[…] La explicación del algoritmo así como otras cosas relacionadas al mismo ya las he explicado en este post. […]

JavaScript: saber si es número narcisista - Parzibyte's blog · octubre 2, 2018 a las 11:21 pm

[…] Hice la función y me gustó tanto el algoritmo que decidí implementarlo en otros lenguajes de programación. […]

Usar PHP para comprobar número narcisista - Parzibyte's blog · octubre 2, 2018 a las 11:33 pm

[…] Si no sabes qué es un número narcisista, lee: Algoritmo para número narcisista en múltiples lenguajes de programación. […]

Cómo saber si un número es narcisista en Python - Parzibyte's blog · octubre 2, 2018 a las 11:48 pm

[…] Si no sabes cómo funciona este algoritmo o qué cosa es un número narcisista, te recomiendo leer esto. […]

Número narcisista en C - Parzibyte's blog · noviembre 28, 2018 a las 6:42 pm

[…] de algún tiempo de haber publicado el algoritmo para saber si un número es narcisista en varios lenguajes de programación es hora de implementarlo en el lenguaje […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: