aide pour un petit calcul...

Bonjour tout le monde,
J'ai une requete un peu particuliere.
J'ai besoin d'aide pour realiser un vieux reve: calculer pi avec plein de décimales (des millions...)
Je l'avais fait sur mon amiga mais c'etait long...
J'ai dl les outils de développement (je trouve ça bien foutu entre autre) mais je me rappelle plus de l'algorithme, et mes programmes en C sont tres loin...
à l'aide
grin.gif
grin.gif
grin.gif

si quelqu'un pouvait m'aider, ça serait sympa. Je fourni la bete de calcul (mon quicksilver en bave deja...
grin.gif
),il manque que le code....arf
merci beaucoup d'avance,j'ai hate !!!!!
 
attention, le premier lien utilise MPI (Message Parsing Interface), il faut un cluster ou un super calculateur pour l'utiliser (MPI existe sur mac
smile.gif
).

sinon, en general, les petit bout de code c, tel que le calcul de pi, ou autre, s'appellent des Snippets

en voila un

int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c
wink.gif
f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f*a,f=d%--g,d/=g--,--b;d*=b);}

cherche Snippets sur google
wink.gif


en voila quelques uns http://remus.rutgers.edu/~rhoads/Code/code.html
 
Très joli William, compact et ludique...
Je ne connaissait pas le terme "Snippet" tu en connait l'origine ? Ca vient de découpage ?

Petite remarque, fais gaffe Fanou, il me semble qu'un point virgule parenthèse fermé a ete transformé en smiley dans l'exemple.

Vérifie également que ton compilateur utilise des "int" 32 bits, sinon remplace les "int" par "long"

Cordialement
 
a oui, je l'avais pas vu celui la
wink.gif


je ne connais pas l'origine du terme
apparement ca veut dire petit bout
smile.gif
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par William:

int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c ; )f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f*a,f=d%--g,d/=g--,--b;d*=b);}
<HR></BLOCKQUOTE>

Tu n'aurais pas trouvé ce bout de code dans le livre intitulé Le fabuleux nombre PI ?
Si je me rappelle bien ce bout de code ne vas pas calculer à l'infini les décimales...Il va seulement calculer les 2400 premières décimales...

++

[17 décembre 2001 : message édité par Einbert]
 
ben oui, moi c'est plusieurs millions de décimales que je cherche a calculer.
sinon je ressort l'amiga du placard pour retrouver le code (en amiga E pour les connaisseurs...)
merci de votre aide en tout cas.
 
hum...
je suis désolé, je crois qu'il va falloir me prendre par la main...
Bon, j'ouvre project builder, il me liste plein de sorte de projet differents...
je prends quoi ?
carbon ? cocoa ? autre ?
j'ai aussi essaye empty, main pas moyen de compiler le source...
au secours je suis perdu !!!!
 
au fait, rien à voir, mais une question toute bête :

ça sert à quoi de calculer les décimales de Pi, hein ?
grin.gif


Allez, ça doit bien servir à quelque chose ??
 
En pratique cela ne sert à rien. Pi a déjà été calculé avec quelques millions de décimales.

Accessoirement, ce genre de calcul longs et dont le code se compile un peu partout peut permettre de comparer deux compilateurs ou deux machines en terme de vitesse.

Cordialement
 
c'est peut etre l'endroit pour parler d'une methode de compression a laquelle je reflechis de temps en temps, et qui me semble interessante.

chaque programme ou donnee numerique est un nombre.

tout les nombre irrationnels sont composes de series de nombres qui ne se repetent pas.

d'ou l'idee de chercher une sequence dans un irrationnel.

dans le sens irrationnel vers sequence c'est pas compliquer, il suffit d'avoir l'algo pour effectuer le calcul.

dans l'autre sens c'est tres tres long!

on peut fragmenter les donnees binaires par paquets, et travailler sur chaque paquets.

en fait un pattern binaire peut etre donne sous la forme (nombre irrationnel, offset , longueur).


des idées?
 
Je n'ai pas tout compris du message de William sur la compression, alors je suis peut-être hors sujet :

On peut effectivement chercher des séquences (ça marche dans les textes : certains mots se retrouvent), mais on n'a aucune garantie d'en trouver dans un nombre en général.

Par exemple, c'est une des particularités intéressantes de Pi : il n'y a aucune séquence repérable dans ses décimales. C'est ce qui explique une utilisation classique (la seule ?) des décimales de pi : s'en servir comme générateur de nombre aléatoires.

Il y aura des répétitions de suites de N chiffres mais "rares" puisque on les trouvera avec la même probabilité que toute autre suite :

1/10 pour les suites de 1 chiffre
1/100 pour les suites de 2 chiffres, etc.

Pour les données informatiques, c'et généralement un peu meilleur pour des tas de raisons liées au codage, mais les compressions classiques (LZ, LZW) te donnent une bonne idée de ce qu'on peut espérer : sur un texte standard, on gagne environ 50%.

La compression d'images bitmap marche mieux parce qu'on a des zones importatntes avec le même codage (couleur uniforme).

Maintenant, je n'ai jamais regardé, ce serait rigolo, ce que donne stuffit sur les décimales de pi.
 
Merci Didier.
oui, Pi a été calculé avec plusieurs milliards de décimales même...
ça ne sert à rien, mais ça ne m'empeche pas d'avoir envie de le faire....
grin.gif
 
oui, on a aucune garanties.

c'est pour ca que ca semble compliquer dans le sens compression, il faut trouver la bonne chaine, dans le bon nombre, si possible pas trop loin du debut.
mais dans le sens decompression c'est faisable.