Misez P'tit, Optimisez n°14 - une approximation de PI

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6575
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Misez P'tit, Optimisez n°14 - une approximation de PI

Message par gege » 24 janv. 2012 12:42

Bonjour,
Un certain Ramanujan a trouvé l'approximation suivante de pi, exacte à 20 décimales :

Code : Tout sélectionner

PI =approx= -2/sqrt(210)*log((sqrt(2)-1)^2*(2-sqrt(3))*(sqrt(7)-sqrt(6))^2*(8-3*sqrt(7))*(sqrt(10)-3)^2*(sqrt(15)-sqrt(14))*(4-sqrt(15))^2*(6-sqrt(35))/4)
Comment feriez-vous le calcul sur votre poquette favori ?
G.E.

EDIT : j'en vois qui sortent leur machine !! :D
Dernière édition par gege le 24 janv. 2012 15:56, édité 2 fois.

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3008
Inscription : 06 sept. 2011 14:57
Localisation : Normandie / Antwerpen

Re: Optimiser - une approximation de PI

Message par Hobiecat » 24 janv. 2012 13:57

gege a écrit :EDIT : j'en vois qui sortent leur machine !! :D
Déjà je prendrais une HP, y'aura moins de parenthèses ! :mrgreen:

PS1 : ça tombe bien, je voulais lancer un misez p'tit ! :wink:
PS2 : c'est le misez p'tit 14 par ordre d'entrée en scène.
Dernière édition par Hobiecat le 24 janv. 2012 14:12, édité 2 fois.

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1934
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Optimiser - une approximation de PI

Message par cgh » 24 janv. 2012 14:03

Oh la la la !!! Un truc comme cela après déjeuner, c'est duuuur !!!

En fait, je triche :pirat:. Je ne possède que des machines qui ont une touche ou une fonction PI ! :mrgreen:

Je :arrow:
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3008
Inscription : 06 sept. 2011 14:57
Localisation : Normandie / Antwerpen

Re: Optimiser - une approximation de PI

Message par Hobiecat » 24 janv. 2012 14:39

cgh a écrit :En fait, je triche :pirat:. Je ne possède que des machines qui ont une touche ou une fonction PI ! :mrgreen:
Difficile d'optimiser plus, je pense ! :lol:

Sinon, j'ai essayé de calculer bêtement, mais ça ne sort pas Pi... y'aurait pas une erreur dans la formule ??

Sur cette page, il y a une autre formule qui ressemble :
Image
mais le résultat n'est pas mieux...

EDIT : la formule de gege est bonne si on applique log = LN , je ne suis pas réveillé !! :mrgreen: Par contre, celle copiée ci-dessus doit manquer un morceau...
Dernière édition par Hobiecat le 24 janv. 2012 16:18, édité 3 fois.

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7765
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: Optimiser - une approximation de PI

Message par jvernet » 24 janv. 2012 14:41

Code : Tout sélectionner

long a=10000,b,c=8400,d,e,f[8401],g;
main(){for(;b-c;)f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4ld",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);} 
2400 décimales de PI juste (il parait).

Source:http://www.yann-ollivier.org/pi/pi.php
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6575
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Optimiser - une approximation de PI

Message par gege » 24 janv. 2012 15:57

Hobiecat a écrit :Sinon, j'ai essayé de calculer bêtement, mais ça ne sort pas Pi... y'aurait pas une erreur dans la formule ??
C'est un logarithme népérien...
Pas mal ta référence, je vais lire !
A+
G.E.

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3008
Inscription : 06 sept. 2011 14:57
Localisation : Normandie / Antwerpen

Re: Optimiser - une approximation de PI

Message par Hobiecat » 24 janv. 2012 16:35

gege a écrit :Pas mal ta référence, je vais lire !
Oui, je suis tombé dessus par hasard en cherchant la formule et je trouve aussi que ce site est pas mal : en tout cas, c'est une mine sur Pi !

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1934
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Optimiser - une approximation de PI

Message par cgh » 24 janv. 2012 18:55

cgh a écrit :En fait, je triche :pirat:. Je ne possède que des machines qui ont une touche ou une fonction PI ! :mrgreen:
Aaaaargh !!!! 8O 8O Je viens de decouvrir que mon Canon X-07 recu hier ne possedait pas de fonction PI !!! 8O 8O
Mais je ne suis pas sur qu'avec la formule donnee par gege, vu les approximations de la fonction SQRT, le Canon calcule PI correctement :roll: :wink:
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4294
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Optimiser - une approximation de PI

Message par pir2 » 24 janv. 2012 19:03

cgh a écrit :
cgh a écrit :En fait, je triche :pirat:. Je ne possède que des machines qui ont une touche ou une fonction PI ! :mrgreen:
Aaaaargh !!!! 8O 8O Je viens de decouvrir que mon Canon X-07 recu hier ne possedait pas de fonction PI !!! 8O 8O
Mais je ne suis pas sur qu'avec la formule donnee par gege, vu les approximations de la fonction SQRT, le Canon calcule PI correctement :roll: :wink:
?
Image
Image

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3008
Inscription : 06 sept. 2011 14:57
Localisation : Normandie / Antwerpen

Re: Optimiser - une approximation de PI

Message par Hobiecat » 24 janv. 2012 19:07

cgh a écrit :
cgh a écrit :En fait, je triche :pirat:. Je ne possède que des machines qui ont une touche ou une fonction PI ! :mrgreen:
Aaaaargh !!!! 8O 8O Je viens de decouvrir que mon Canon X-07 recu hier ne possedait pas de fonction PI !!! 8O 8O
Mais je ne suis pas sur qu'avec la formule donnee par gege, vu les approximations de la fonction SQRT, le Canon calcule PI correctement :roll: :wink:
Le X-07 doit bien réussir à sortir les 10 premières décimales quand même ?

Sinon, je n'ai pas encore trouvé comment sortir les 20 décimales... mais la nuit porte conseil ! :wink:

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1934
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Optimiser - une approximation de PI

Message par cgh » 24 janv. 2012 19:14

pir2 a écrit :
cgh a écrit :
cgh a écrit :En fait, je triche :pirat:. Je ne possède que des machines qui ont une touche ou une fonction PI ! :mrgreen:
Aaaaargh !!!! 8O 8O Je viens de decouvrir que mon Canon X-07 recu hier ne possedait pas de fonction PI !!! 8O 8O
Mais je ne suis pas sur qu'avec la formule donnee par gege, vu les approximations de la fonction SQRT, le Canon calcule PI correctement :roll: :wink:
?
0
Ce n'est pas du SHARP ou du CASIO. C'est du Kro$oft ! :?
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4294
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Misez P'tit, Optimisez n°14 - une approximation de PI

Message par pir2 » 24 janv. 2012 19:28

bontempi
Image
Image

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6575
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Optimiser - une approximation de PI

Message par gege » 24 janv. 2012 20:28

Hobiecat a écrit :Sinon, je n'ai pas encore trouvé comment sortir les 20 décimales... mais la nuit porte conseil ! :wink:
J'avais pensé surtout à taper la formule le plus économiquement possible, mais tu étends l'idée habilement, première idée : utiliser un PCE-500 ou autre poquette double précision, sinon il va falloir programmer et là... :?: :!:
A+
G.E.

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2020
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez P'tit, Optimisez n°14 - une approximation de PI

Message par C.Ret » 24 janv. 2012 22:16

Bon, je suis un peu paresseux:

En général pour avoir les décimal de PI, j'utilise mon SHARP PC-1211 de cete façon (le symbole PI est sur la touche flêche vers le heut):
[SHIF][UP]-3.1[ENTER] qui affiche 4.159265359EE-02

C'est plus précis que de directement utiliser PI qui ne dévoille que les 9 premières décimales PI [ENTER] affiche 3.14159265359EE-02

Pour avoir plus de décimal, je vais sur Internet.

Et si je devais faire calculer les décimales à un Pocket, je serais tenté d'utiliser les fractions continues :
Image

OU alors une formule du type :
Image

Tiens, cela doit donner un code bien propret en RPL

Calculatrices


PICAL - Jean-Christophe BENOIST
Télécharger
Programme pour HP-49 basé sur l'algorithme compte-goutte de Gosper. Très petit (256 octets), il fournit 1000 décimales en 10 minutes. On entre le nombre de décimales souhaité et on lance le programme.
[Source : http://www.pi314.net/fr/programmes.php]

Mais bon, en général, pour l'usage que j'ai de PI, PI = 3.14156 est laaargement suffisant.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803+ sd2iec. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

leduigou
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 64
Inscription : 28 mai 2011 14:46
Localisation : Paris

Re: Misez P'tit, Optimisez n°14 - une approximation de PI

Message par leduigou » 24 janv. 2012 23:00

Le mieux que je puisse faire à la maison en Fortran77 :
pi=
3.14159265358979323846264338327950288419716939937510582097494459
2307816406286208998628034825342117067982148086513282306647093844
6095505822317253594081284811174502841027019385211055596446229489
5493038196442881097566593344612847564823378678316527120190914564
8566923460348610454326648213393607260249141273724587006606315588
1748815209209628292540917153643678925903600113305305488204665213
8414695194151160943305727036575959195309218611738193261179310511
8548074462379962749567351885752724891227938183011949129833673362
4406566430860213949463952247371907021798609437027705392171762931
7675238467481846766940513200056812714526356082778577134275778960
9173637178721468440901224953430146549585371050792279689258923542
0199561121290219608640344181598136297747713099605187072113499999
9837297804995105973173281609631859502445945534690830264252230825
3344685035261931188171010003137838752886587533208381420617177669
1473035982534904287554687311595628638823537875937519577818577805
3217122680661300192787661119590921642019893809525720106548586327
8865936153381827968230301952035301852968995773622599413891249721
7752834791315155748572424541506959508295331168617278558890750983
8175463746493931925506040092770167113900984882401285836160356370
7660104710181942955596198946767837449448255379774726847104047534
6462080466842590694912933136770289891521047521620569660240580381
5019351125338243003558764024749647326391419927260426992279678235
4781636009341721641219924586315030286182974555706749838505494588
5869269956909272107975093029553211653449872027559602364806654991
1988183479775356636980742654252786255181841757467289097777279380
0081647060016145249192173217214772350141441973568548161361157352
5521334757418494684385233239073941433345477624168625189835694855
6209921922218427255025425688767179049460165346680498862723279178
6085784383827967976681454100953883786360950680064225125205117392
9848960841284886269456042419652850222106611863067442786220391949
4504712371378696095636437191728746776465757396241389086583264599
5813390478027590099465764078951269468398352595709825822620522489
4077267194782684826014769909026401363944374553050682034962524517
4939965143142980919065925093722169646151570985838741059788595977
2975498930161753928468138268683868942774155991855925245953959431
0499725246808459872736446958486538367362226260991246080512438843
9045124413654976278079771569143599770012961608944169486855584840
6353422072225828488648158456028506016842739452267467678895252138
4
total elapsed time= 0.47592700 user= 0.47192800 system= 3.99899995E-03

Mais c'est de la triche, il n'y a pas de calculatrice en Fortran77 :mrgreen:
Cordialement
Frédéric

Répondre

Revenir vers « Tous les Pockets »