Calcul de PI (méthode Ramanujan)

Signaler
Messages postés
51
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
4 décembre 2012
-
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007
-
Hello,

J'ai un problème bizarre en essayant de calculer PI avec la méthode Ramanujan (voir http://en.wikipedia.org/wiki/Pi).
Voilà mon code, il me retourne 129143562.34638... au lieu de 3.1415...

<

script>function

CalculatePi() {

var NbIteration = 10;

var totalResult=0;

for (i=1; i<=NbIteration; i++) {result = ( fact(4*i) * (1103 + (26390 * i)) ) / (Math.pow(fact(i), 4) * Math.pow(396, 4*i));

totalResult = totalResult+result;

}

totalResult *= ((2 * Math.sqrt(2)) / 9801);

totalResult = 1/totalResult;

prompt(

'pi',totalResult);}

function

fact(n) {f = 1;

while(n > 1) { f *= n--;

}

return(f);}

</

script><

input
type="button"
onclick="CalculatePi()"
value="Calculer Pi">
Vous avez une idée ?

3 réponses

Messages postés
51
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
4 décembre 2012

Oups...
voilà le script un peu mieux mis en forme :

<script>
function CalculatePi() {
 var NbIteration = 10;
 var totalResult=0;
 
 for (i=1; i<=NbIteration; i++) {
  result = ( fact(4*i) * (1103 + (26390 * i)) ) / (Math.pow(fact(i), 4) * Math.pow(396, 4*i));
  totalResult = totalResult+result;
 }
 
 totalResult *= ((2 * Math.sqrt(2)) / 9801);
 totalResult = 1/totalResult;
 prompt('pi',totalResult);
}


function fact(n) {
 f = 1;
 while(n > 1) {
  f *= n--;
 }
 return(f);
}


</script>
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




Eh ! Il ne te manque pas grand-chose ... Petit jeu à la communauté : qui a vu la "coquille" ?

Cordialement
Roro webDev
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




'Pas beaucoup de succés, moi
Bon ! la réponse :

for
(i0 ; i<NbIteration; i++) {






Cordialement
Roro webDev