Intenta ser respetuoso con el resto de los usuarios o podrías ser sancionado.
vale, pero no es lo suficientemente rápido, se puede optimizar!
Hola Good,La verdad no entiendo porque dices que no es lo suficientemente rápido... a mi ni me tarda milésimas. En cuanto a que dices que se puede optimizar yo creo que es "imposible". Se utilizan los métodos exactos y concisos, ni mas ni menos. Hombre, se podría simplificar quitando la función pero como tu pedías una función...Un saludo,Siquillote.
Hola Good,Verás, la cosa del reto (según a mi entender) es crear una función que elabore ese algoritmo no hacer que si a partir de X numero vaya mas rápido o lento o si llamas a la funcion 80 veces en tu script, ¿No crees?. Un saludo,Ángel.
el reto es buscar la solución más rápida y eficiente, es un problema en el que se tiene en cuenta la eficiencia (velocidad) del proceso para cualquier caso (llamar solo una vez a la función o llamarla tantas veces como sea necesario)
function factorial($numero){ for($i = $numero-1; $i > 0; $i--) $numero *= $i; return $numero;}
Hola Good,Verás, no se si llegas a entenderme bien. A lo que yo voy es a decirte que por muy "eficaz" y rápida crees una función dará igual si la llamas 5000 veces. La función no sabe cuantas veces la está llamando por lo tanto no se puede hacer nada respecto a ello.Si, visto de esa forma si que es mas corto de elaborar. Bien visto así Physlet, enhorabuena.Un saludo,Siquillote.
Si, visto de esa forma si que es mas corto de elaborar. Bien visto así Physlet, enhorabuena.Un saludo,Siquillote.
La forma más eficiente –según creo– es usando recursividad. En breve lo subo.
La más eficiente sin tu último requerimiento sería esta:function factorial ($numero){ return $numero == 1 ? $numero : $numero * factorial($numero - 1);}