Formule Calcule de Pi

Signaler
Messages postés
1
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
15 mai 2007
-
cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
-
lu all
suite a un mal entendu sur un sujet que g déja créer et que je demandé comment calculé Pi , et qu il été clo par l admin car les membres pensé que je demandé du code alors que moi je ve seulement la meilleures formule de calcule de pi car sur le net g trouvé plusieurs
je demande la bonne forumle qui donne un résultat avec grande présision malgré que son traintenent sur ordi é long
pour ceux qui demande pk demandé cela alors que la bibliotheque de pi é prete
bin c juste parce que g besoin de faire un TP qui permet de distribué les calcule sur un réseau et g choisi de calculé pi sur un seul PC puis sur le réseau et comparer
a++ et Merci

6 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
Salut,

pi^2/6 = lim n -> +inf de ( somme de k=1 a n des ( 1/(k*k) ))

sinon t'as wikipedia

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
90
Salut,

[auteurdetail.aspx?ID=209775 solidleon]
> merci déviter le langage SMS

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
Salut,

en Cpp avec de la metaprog :

#include
#include <math.h>

template inline float picarre(){
    float a=N*N;
    return picarre<N-1>()+6/a;
};

template <> inline float picarre<1>(){
    return 6;
};

ensuite :
float a=sqrt(picarre<500>());
    a=sqrt(picarre<1000>());
    a=sqrt(picarre<1500>());

sinon sans metaprog mais sur toute structure :

template <class T>
T pi(int precision){
    T a=0, b;
    for (int i=1;i

je ne me suis pas amuse a le faire en java, j'ai fait ca en debut d'annee, j'avais jamais fait de metaprog ni de templates alors je me suis amuse...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
908
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1
la meilleure méthode pour le calcul de PI est celle qui consiste à utiliser la formule de ramanujan :

http://fr.wikipedia.org/wiki/Srinivasa_Ramanujan

elle fournit 8 décimales à chaque itération, elle n'est pas très difficile à mettre en oeuvre en terme de code mais pese lourd en calcul. C'est la formule qui est utilisée lors des records du calcul de nombre de décimales par les supercalculateurs.

j'espère avoir répondu à ta question
Messages postés
908
Date d'inscription
jeudi 26 juillet 2001
Statut
Modérateur
Dernière intervention
1 février 2015
1
par contre pour l'orthographe je soutiens mes camarades, le temps que tu gagnes en écriture, nous le perdons en lecture.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
259
une méthode tres performante pour calculer PI est d'utiliser un generateur aléatoire, en effet, 4*PI est la probabilité que deux nombres (a,b) générés au hasard par une loi uniforme sur [0,1[² soient tels que a² + b²<1. Pour l'explication, si on prend un cercle de diametres 1 qu'on l'iscrit dans un carré, la probabilité qu'un objet lancé sur cet ensemble soit dans le cercle est le rapport des aires soit PI/4. Donc en simulant un grand nombre de lancés de ce type, on obtient une approximation de PI. On peut voire le probleme differement en ne considérant qu'un quart de cercle et alors on se ramene au critere precedement ennoncé. Cette méthode est assez efficace et surtout tres rapide.