Número narcisista en C++

Introducción

Comenzaremos resolviendo el algoritmo para determinar si un número es narcisista en CPP o C++. Escribiremos una función que recibe un entero y regresa un booleano indicando si el número recibido es narcisista.

Narcisista en CPP

Narcisista en CPP

 

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++

La función que dije queda escrita así:

Hay algunas cosas importantes que notar. Por ejemplo, para convertir el número a cadena usamos std::to_string.

Más tarde recorremos el número como si fuera una cadena, y vamos tomando carácter por carácter. Ese carácter es de tipo char, lo convertimos a entero y luego lo elevamos a la potencia N.

¿Y cuál es la potencia N? bueno, N es la longitud del número; es decir, el número de cifras que tiene.

Para elevarlo usamos la función pow en CPP.

Ejemplo completo

Para ver cómo podemos llamar a la función desde un programa normal escrito en C++ implementamos este código:

Lo que hacemos es definir un arreglo de enteros, recorrerlo e imprimir si son narcisistas o no. La salida es la siguiente, aunque recuerda que puedes compilarlo y probarlo por ti mismo.

Salida de la función para comprobar si número es narcisista en C++

Salida de la función para comprobar si número es narcisista en C++

Así es como terminamos.

Número narcisista en C++

Por parzibyte Tiempo de lectura: 1 min
1