Pi (2000)

Il y a quelques années on m'a offert un bouquin sur le nombre pi ("The Joy of Pi", David Blatner, The Penguin Press) qui retrace l'histoire de l'exploration du nombre pi ainsi que quelques anectdotes et surtout des formules de calcul.
Un jour je me suis dit qu'il serait cool de calculer quelques décimales de PI grâce à un de ces algorithmes.

J'ai choisi l'algorithme suivant parce qu'il n'est pas trop compliqué (lol) et que le nombre de décimales calculées évolue proportionnelement au compteur. Ce rapport est 5/3, c'est à dire que pour calculer 3000 décimales, il faut effectuer 5000 boucles dans l'algorithme...

Voici la formule de calcul brute :

Formule PI

Bon ce n'est pas encore évident à exploiter donc voici une forme plus jolie... On peut définir la suite Un :

Suite PI

Alors PI = Uo + U1 + U2 + U3 + ...

C'est sur ces bases que j'ai construit mon algorithme de calcul de décimales de pi. Les premières versions furent développées en Pascal puis pas soucis de rapiditée d'exécution et afin d'atteindre mon record, j'ai réécrit ce programme en assembleur 386.
J'ai alors atteind les 130000 décimales...

Téléchargez PI ! (assembleur)

Toutefois la programmation en assembleur s'avère vite difficile pour gérer des grandes quantités de mémoire... La limitation à 130000 décimales en est la conséquence.
Je suis donc revenu à la programmation Pascal pour mon dernier programme. Je l'ai compilé avec FreePascal et je l'ai laissé tourner sur mon serveur Linux pendant... 10 jours et j'ai atteind 1.000.992 décimale :-)

Téléchargez PI ! (pascal)