(2 PUISSANCE N) POUR N GRAND

Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010 - 22 avril 2005 à 11:38
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010 - 4 févr. 2006 à 22:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30907-2-puissance-n-pour-n-grand

Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
4 févr. 2006 à 22:02
oups : (n/e) pas (e/n)
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
4 févr. 2006 à 22:01
On peut affiner la formule en la complétant (utiliser le développement de Taylor de la fonction Gamma en +infini) :
n! = sqrt(2*Pi*n) * (e/n)^n * (1 + 1/(12n) + 1/(288n²) + ....)
L'avantage c'est qu'on obtient une bonne approximation, même pour des petits nombres
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
4 févr. 2006 à 21:36
Ah voui, j'avais pas vu qu'il précisait "pour n grand", au temps pour moi.
cs_frigidaire Messages postés 1 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 4 février 2006
4 févr. 2006 à 21:02
La formule de Stirling donne un equivalent en +l'infini de n!, donc plus n est grand plus la formule est precise !!!
Utiliser la formule de striling lorsque n est petit n'est pas conseillé !! ;)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
25 avril 2005 à 21:12
pour 6! ça donne qd même 710 au lieu de 720 :/ je veux bien que ça ne fait que 1.39%, mais ça va vite faire bcp :/ ceci dit, ça doit être pratique pour se faire une idée de l'ordre de grandeur d'une factorielle trop grande, merci pr la curiosité ;)
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
24 avril 2005 à 11:33
Okay, merci
MetalDwarf Messages postés 241 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 23 janvier 2006
23 avril 2005 à 22:27
Ca se demontre avec des techniques classiques d'analyse, notamment avec les integrales de Wallis (enfin,c'est comme ca que je l'ai fait).
C'est pas tres dur mais ca prend vite 1-2 pages (a la main)
cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 1
23 avril 2005 à 20:24
Sur Google, tape "Maths" et "factorielle", tu devrais tomber sur des sites intéressants.
En voici un :
http://www.bibmath.net/dico/index.php3?action=affiche&quoi=./f/factorielle.html

@++
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
23 avril 2005 à 11:40
Il y a une erreur à 10^-2 près à chaque fois, à peu près..
Ou peut-on trouver plus d'infos sur cette formule ?
cs_algori Messages postés 868 Date d'inscription dimanche 26 décembre 2004 Statut Membre Dernière intervention 26 février 2008 1
22 avril 2005 à 23:49
Salut,
Code intéressant...
Sinon, tu pourrais essayer la formule de Stirling pour n! grand.
Formule : n! = sqrt(2*pi*n)*(n/e)^n
avec sqrt la racine carré.
A vrai dire, je sais pas trop ce que ça donne au niveau de l'exactitude.
@++
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
22 avril 2005 à 20:17
permet d'utiliser les fonctions cin et cout, mais celles ci sont dans un espace de nom particulier qui s'appelle std. Il faut donc dire explicitement qu'on utilise cet espace de nom.

#include

using namespace std;

int main (int argc, char ** argv)
{
...
return 0;
}
Taranael Messages postés 54 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 21 juin 2007 1
22 avril 2005 à 19:58
Sur VC6 je me mange une erreur si j'enlève le .h
Et ça fait quoi au fait using namespace std ?
*Tara qui a raté quelque chose ?*
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
22 avril 2005 à 11:52
Encore une fois utilise iostream et pas la librairie .h qui n'est plus à utiliser. Et rajoute "using namespace std;"
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
22 avril 2005 à 11:38
Tu devrais faire une classe de traitement de grand nombre, avec toutes les possibilités de calcul classiques...
Rejoignez-nous