PI

cmarsc
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003
- 27 mars 2003 à 09:17
Super_Mat
Messages postés
37
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
31 août 2005
- 23 sept. 2004 à 21:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10591-pi

Super_Mat
Messages postés
37
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
31 août 2005

23 sept. 2004 à 21:34
7 décimales en 200.000.000 d'itération c'est pas fameux quand même :-)

Une des méthodes des plus rapides est celle de Bailey-Borwein-Plouffe (BBP) je pense. A chaque itération on trouve un chiffre exacte supplémentaire.

Je crois que je vais utiliser celle-ci pour ma bibliothèque des nombres formels.
knutzz
Messages postés
1
Date d'inscription
jeudi 6 février 2003
Statut
Membre
Dernière intervention
2 avril 2003

2 avril 2003 à 10:51
Histoire de bourrer un peu plus pour les amateurs de décimales.
On déroule la boucle, plus il y a de CALC et plus % CPU utilisé par la boucle et le print diminue.


#define CALC somme += (1./(long double)n);
n = n + 2;
somme -= (1./(long double)n);
n = n + 2;

int main(int argc, char* argv[])
{
signed int signe = 1;
long double somme = 0;
int n = 1;

do
{
CALC
CALC
printf("%.20f %i
",4.*somme,n);
}
while(1);
return 0;
}
cs_aerith
Messages postés
54
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
12 mars 2006

28 mars 2003 à 12:40
cmarsc :
-oki pour le .h
-je pense que si je mes une condition d'arret par une touche ca devrai ralentir le programme, c'est si important que ca de cloturer le prog ?
-et heu question vitesse ce prog utilise 15% max de mes ressource et c'est illisible en effet

zanidip :
je me suis renseigner et a essayer la methode d'archimed par les poligone regulier mais pas reussi a sortir un resultat bon si j'y arrive je posterai ca ici

-j'ai trouver le record, un certain gars a tokio avec 51 milliards de decimales
-je vais tenter de metre un timer pour savoir le nombre d'iteration en combien de temp qu'on a fais
cmarsc
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

28 mars 2003 à 07:12
salut,
on utilise " .h" par exemple "fichier_perso.h" pour les fichiers que l'on a écrit nous même et <.h> pour les fichiers disponibles avec le compilateurs c'est notamment le cas des bibliothèques standard.

avec une boucle infinie il n'y a pas de condition d'arrêt et on ne peut donc pas mettre fin à l'exécution du programme proprement (ESCAPE).
et pour la vitesse chez moi c'est trop rapide c'est pour cela que j'ai ajouté une boucle for(...) question de machine sans doute ;-)
Viper31
Messages postés
96
Date d'inscription
mardi 2 avril 2002
Statut
Membre
Dernière intervention
7 août 2005

27 mars 2003 à 17:27
Ya encore plus simple , mais ca n engage que moi :
...
#include <math.h>
...
...
float le_vrai_pi;
le_vrai_pi = 4.0*atan(1.0);
printf("%f",le_vrai_pi);
...
...

:) enfin c'est vrai que trouve un algo qui le calcul c toujours interessant ^^ ! mais bon :]
Afficher les 9 commentaires