Chaque fois que j'essaie d'obtenir le factoriel de 171, j'invarre Inf. 170 fonctionne bien. Est-il possible d'obtenir le factoriel de 171+ dans un script? Comment?
Ma fonction:
6 Réponses :
echo "1241018070217667823424840524103103992616605577501693185388951803611996075221691752992751978120487585576464959501670387052809889858690710767331242032218484364310473577889968548278290754541561964852153468318044293239598173696899657235903947616152278558180061176365108428800000000000000000000000000000000000000000" really though, your function is fine. I think PHP lacks that kind of precision. I got the value (it is correct btw) in python
Je n'ai pas besoin de la factorielle 171, j'ai besoin du script, ce qui pourrait compter que :)
Ouvrir le terminal. Tapez 'Python' Type 'Importer Math' Type 'Math.Factorial (171)'. Vous ne pouvez pas le faire dans PHP sans une extension comme @Crozin et @ebomike mentionné
MDR oui. Une calculatrice bat en réalité un moteur de recherche en maths. Allez comprendre.
Vous êtes diabolique. Mais +1
C'est un nombre plus important que vous ne pouvez tenir en utilisant 32 bits. Si vous exécutez le même code sur un ordinateur 64 bits, cela devrait fonctionner. P>
Pas exactement une solution très portable.
Non, mais en fonction de l'endroit où le code doit fonctionner, cela pourrait être le plus facile.
Un ordinateur 64 bits a une limite aussi: D ... il serait juste 2 ^ 21 fois plus grand: p
Dépend du système d'exploitation; Sous Windows, il sera toujours 32 bits, mais sur Linux, il sera 64 comme vous le suggérez. PUBBS.net/200902/ php / ...
Si vous traitez de très grands nombres, vous devrez utiliser une extension qui vous permet de le faire. P>
Il y a bcmath ( http://www.php.net/manual/fr /book.bc.php ) et GMP ( http: // www.php.net/manual/fr/book.gmp.php ). P>
L'extension MP GNU offre même une fonction gmp_fact () code> pour calculer des factoriels importants hors de la boîte.
Vous obtenez probablement une valeur dépassant le flottant maximum de double précision dans une machine 32 bits ( ~ 10 ^ 308 code>). 170! Factorial est
~ 7.25741562 × 10 ^ 307 code> qui est juste sous cela, cependant, 171! est plus grand. Votre meilleur pari est d'utiliser l'une des bibliothèques Ebomike ou Crozin Recommande dans leurs réponses. P>
pour le grand n, vous pouvez calculer n! Très rapidement avec peu d'erreur en utilisant l'approximation de Stirling. Jetez un coup d'œil à ce post; Il a une analyse de la fonction et de certains échantillons de code: p>
http://threebrothers.org/brendan/blog/sttirlings-approximation -Formula-Clojure / P>