Calcul de pi - formule de john wallis [dev-c++]

Soyez le premier à donner votre avis sur cette source.

Vue 8 382 fois - Téléchargée 213 fois

Description

encore un autre prog pour calculer pi mais avec une autre formule cette fois
voici la formule :
pi = 2 ( (2/1) * (2/3) * (4/3) * (4/5) * (6/5) * (6/7) * (...) )

Source / Exemple :


#include <stdio.h>
#include <math.h>

double pi(int precision)
{
  double increment;
  double increment2=2.0;
  double resultat=1;

  for (increment=1.0 ; increment<=precision*1000000.0 ; increment=increment+2.0)
  {
    resultat=resultat*(increment2/increment);
    if (increment==(increment2+1))
    {
      increment2=increment2+2.0;
      increment=increment-2.0;
    }
  }
  resultat=resultat*2;
  return resultat;
}

int main()
{
  int precis;
  printf("Entrez le degre de precision : ");
  scanf("%d",&precis);
  printf("\nCalcul de PI avec l'algorithme de John Wallis :\n%.30f\n",pi(precis));
  printf("\nVraie valeur de PI :\n3,141592653589793238462643383279");
  getch();
  return 0;
}

Conclusion :


voila !

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

RANA46
Messages postés
2
Date d'inscription
vendredi 22 octobre 2010
Statut
Membre
Dernière intervention
22 octobre 2010

Bonjour, je ne comprend pas comment on arrive dans le programme à PI avec la formule de john wallis:
pi = 2 ( (2/1) * (2/3) * (4/3) * (4/5) * (6/5) * (6/7) * (...) )

Pouvez-vous m'expliquer comment on y arrive?
On a une limite de décimal? de combien?

Je ne comprend pas surtout votre boucle FOR (increment=1.0 ; increment<=precision*1000000.0 ; increment=increment+2.0)....

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.