Ya he implementado este algoritmo en otros lenguajes de programación (los más populares creo yo). Llegó el turno de PHP. Veamos una función para determinar si un número es narcisista.
Si no sabes qué es un número narcisista, lee: Algoritmo para número narcisista en múltiples lenguajes de programación.
Para terminar pronto, puse todo en una función. Recomiendo leer:
El código fuente es este:
<?php
function esNarcisista($numero){
$numeroComoCadena = strval($numero);
$longitudDelNumero = strlen($numeroComoCadena);
$suma = 0;
for($indice = 0; $indice < $longitudDelNumero; $indice++){
// Convertir carácter a entero
$caracterActual = $numeroComoCadena[$indice];
$cifraComoEntero = intval($caracterActual);
// Elevar ese carácter a la potencia dada por la longitud del número
$elevado = pow($cifraComoEntero, $longitudDelNumero);
// El resultado lo añadimos a $suma
$suma = $suma + $elevado;
}
// Comprobar si la suma al elevar es igual al número que recibimos
if($suma === $numero) return true;
else return false;
}
De nuevo el tipado débil nos ayuda.
Para realizar conversiones usamos simplemente intval y strval. Eso sí, para elevar un número usamos la función nativa llamada pow.
Es una función, por lo tanto podemos llamarla por valor como lo hacemos con otras funciones.
Aquí dejo la implementación que yo le di, en donde básicamente recorremos un arreglo de números enteros y comprobamos si cada número es o no narcisista.
Click aquí si quieres saber cómo ejecutar código PHP desde la terminal.
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…
Esta web usa cookies.
Ver comentarios