Bonjour,
En Inde, vers 1400, Madhava de Sangamagrama a réussi à calculer Pi avec 11 décimales correctes.
La formule qu'il a utilisé se présente sous la forme:
pi = sqrt(12)*Somme(i >=0){(-1)^i / (2*i+1)*3^i}
Son "record" a été battu en 1424 par le mathématicien perse Al-Kachi (16 décimales).
Cet article fait partie de la série
CodeS-SourceS: Approximations de Pi <<< cliquez !.
Le code suivant permet de "simuler" les calculs de Madhava de Sangamagrama:
double Madhava_A(int n) {
double s=1.0, a=1.0;
for (int i=1; i<n; ++i) {
a /= -3.0;
s += a / (2*i+1);
}
return sqrt(12.0)*s;
} // pi = sqrt(12)*Somme(i >=0) {(-1)^i / ((2*i+1)*3^i)}
On trouve Pi avec une précision
double après 28 itérations.
Codée d'une manière plus condensée ou sans calculer explicitement 2*i+1:
double Madhava_B(int n) { // Plus condensé
double s=1.0, a=1.0;
for (int i=1; i<n; ++i) s += (a /= -3.0) / (2*i+1);
return sqrt(12.0)*s;
}
double Madhava_C(int n) { // Sans calcul explicite de 2*i+1
double s=1.0, a=1.0;
for (int i=3, N=2*n; i<N; i+=2) s += (a /= -3.0) / i;
return sqrt(12.0)*s;
}
Le
Zip contient le seul fichier source
Madhava.cpp dont voici l'
Output:
pi = sqrt(12)*Somme(i >=0){(-1)^i / ((2*i+1) * 3^i)}
Madhava_A:
n= 2: pi=3.07920143567800
n= 4: pi=3.13785289159568
n= 6: pi=3.14130878546288
n= 8: pi=3.14156871594178
n= 10: pi=3.14159051093808
n= 12: pi=3.14159245428765
n= 14: pi=3.14159263454731
n= 16: pi=3.14159265173400
n= 18: pi=3.14159265340616
n= 20: pi=3.14159265357140
n= 22: pi=3.14159265358793
n= 24: pi=3.14159265358960
n= 26: pi=3.14159265358977
n= 28: pi=3.14159265358979
précis: pi=3.14159265358979
Madhava_B:
n= 2: pi=3.07920143567800
n= 4: pi=3.13785289159568
n= 6: pi=3.14130878546288
n= 8: pi=3.14156871594178
n= 10: pi=3.14159051093808
n= 12: pi=3.14159245428765
n= 14: pi=3.14159263454731
n= 16: pi=3.14159265173400
n= 18: pi=3.14159265340616
n= 20: pi=3.14159265357140
n= 22: pi=3.14159265358793
n= 24: pi=3.14159265358960
n= 26: pi=3.14159265358977
n= 28: pi=3.14159265358979
précis: pi=3.14159265358979
Madhava_C:
n= 2: pi=3.07920143567800
n= 4: pi=3.13785289159568
n= 6: pi=3.14130878546288
n= 8: pi=3.14156871594178
n= 10: pi=3.14159051093808
n= 12: pi=3.14159245428765
n= 14: pi=3.14159263454731
n= 16: pi=3.14159265173400
n= 18: pi=3.14159265340616
n= 20: pi=3.14159265357140
n= 22: pi=3.14159265358793
n= 24: pi=3.14159265358960
n= 26: pi=3.14159265358977
n= 28: pi=3.14159265358979
précis: pi=3.14159265358979
Wiki:
Madhava de Sangamagrama,
Madhava of Sangamagrama
Bonne lecture ...
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.