pi ausrechnen
Von: , Frage gestellt am Fr, 20. Aug 1999
[Der Text dieses Artikels ist nicht mehr verfügbar.]
[Der Text dieses Artikels ist nicht mehr verfügbar.]
wie kann man pi ausrechen ?
ich will nicht das ergebnis sondern die
formel dazu :)
Hier ein kleines C-Programm, das Pi auf bel. viele Stellen berechnet (genügend Geduld, Speicher und Rechenleistung vorausgesetzt):
#include <stdio.h:
#include <stdlib.h:
void main( int argc, char *argv[ ] )
{
int* pf;
int n;
int a=10000, b=0;
int c, d=0;
int e=0, g=0;
if( argc!=2 ){
printf( "Aufruf: PIComp <Stellen:\n\n" );
exit( 1 );
}
// Stellenanzahl holen
n=atoi( argv[ 1 ] );
c=n*7/2;
// Speicher anlegen
pf=new int[ c+1 ];
if( !pf ){
printf( "Zu wenig Speicher!\n\n" );
exit( 1 );
}
// Berechnung starten
for( ; b-c; )
pf[ b++ ]=a/5;
while(( g=2*c )!=0 ){
for( b=c; d+=pf[ b ]*a, pf[ b ]=d%--g, d/=g--, --b; d*=b );
c-=14;
printf( "%.4d", e+d/a );
e=d%a;
d=0;
}
delete [ ] pf;
}
Mal ein Quadrat und da hinein einen
Kreis auf ein Blatt Papier.
wirf nun n- mal ein kleines Massestueckchen
auf das Papier. Sei nun N die Anzahl
der Quadrattreffer, K die Anzahl der
Kreistreffer (N:=K), dann geht
der Quotient K/N fuer genuegend viele
Versuche gegen pi/4.
Das ist dann sozusagen die
Loesung mit einem Analogcomputer ;)
Marco
Das kann man natuerlich auch
mit einem Computer simulieren:
10 N=0;K=0
20 N=N+1;
30 x=rnd
40 y=rnd
50 if x^2+y^2<1 then K=K+1
60 p=4*K/N
70 print p
80 goto 20
Marco
wie kann man pi ausrechen ?
ich will nicht das ergebnis sondern die
formel dazu :)
Maple macht das folgendermaßen:
Und zwar ist das ganze bekannt als
"Chudnovsky-Formel"
mit den Konstanten
c=6541681608/640320^(3/2)
k=13591409/545140134
l=640320
ist
1/pi=
c* sum{ von i=0 bis unendl}_ [k+i](6i)!*(-1)^i/[(3k)!k!^3*l^(3i)]
Viel Spaß beim rechnen!
(Hoffe, ich habe mich nicht vertippt)
Bis dann,
Jan
Ich habe ein paar "k"s und "i"s verwechselt!
Anstatt
1/pi=
c* sum{ von i=0 bis unendl}_
[k+i](6i)!*(-1)^i/[(3k)!k!^3*l^(3i)]
Muss es heißen
1/pi=
c* sum{ von i=0 bis unendl}
[k+i](6i)!*(-1)^i/[(3i)! i!^3*l^(3i)]
Hoffe, jetzt stimmt es.
Bis dann, Jan