voila une autre formule pour calculer pi faites egalement par Leonhard Euler mais beaucoup plus complique :
pi = 2 * racine carrée de 3 * ( 1 - (1/3 * 1/3 exposant 1 ) + (1/5 * 1/3 exposant 2 ) - (1/7 * 1/3 exposant 2 ) + (...) )
mais elle est aussi beaucoup plus precise : en precision 1000 elle met une seconde a trouve pi avec 15 decimales justes apres la virgule
Source / Exemple :
#include <stdio.h>
#include <math.h>
double expo(double nbr,int puiss)
{
int increment;
double resultat=1.0;
for (increment=1 ; increment<=puiss ; increment++)
{
resultat=resultat*nbr;
}
return resultat;
}
double pi(int precision)
{
int increment;
double increment2=3.0;
double resultat=0;
for (increment=1 ; increment<=precision*10 ; increment++)
{
resultat=resultat+((1.0/increment2)*(expo((1.0/3.0),increment)));
increment++;
increment2=increment2+2.0;
resultat=resultat-((1.0/increment2)*(expo((1.0/3.0),increment)));
increment2=increment2+2.0;
}
resultat=1.0-resultat;
resultat=resultat*2*sqrt(3);
return resultat;
}
int main()
{
int precis;
printf("Entrez le degre de precision : ");
scanf("%d",&precis);
printf("\nCalcul de PI avec l'algorithme de Leonhard Euler :\n%.30f\n",pi(precis));
printf("\nVraie valeur de PI :\n3,141592653589793238462643383279");
getch();
return 0;
}
Conclusion :
voila c tout
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.