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.
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta web usa cookies.
Ver comentarios