![]() |
PI berechnen mit Ramanujan 2. Methode
hallo,
hab hier einen schönen ansatz zur berechnung von PI gefunden ![]()
Delphi-Quellcode:
mit 2 algorithmen durchläufen hab ich bereits pi auf 15 stellen hinter dem komma genau berechnet.
procedure TForm1.Button1Click(Sender: TObject);
var an,an1,yn,yn1,pi:extended; i:integer; begin an:=sqrt(2)-1; yn:=sqrt(an); for i:=0 to 2 do begin yn1:= (1 - Power( 1 - Power( yn , 4 ) , 0.25 ) ) / ( 1 + Power( 1 - Power( yn , 4 ), 0.25 )); an1:= an * Power( 1 + yn1 , 4 ) - Sqrt( 2 ) * ( 1 + yn1 + sqr( yn1 ) ) * Power( 4 , i + 1 ) * yn1; yn:=yn1; an:=an1; pi:=1/an; Memo1.Lines.Add(FloatToStr(pi)); end; Showmessage(FloatToStr(pi)); end; sicher erkennt ihr das problem ^^ ein extended ist zu kurz um weitere stellen aufzunehmen. wer lust hat kann ja damit rumexperimentieren oder mir paar schöne ansätze posten ;) Gruß Jokerface |
Re: PI berechnen mit Ramanujan 2. Methode
Ich behaupte einfach mal, dass für 99% aller Anwendungsfälle die 15. Stelle hinter dem Komma nur eine marginale Rolle spielt. Falls doch, gibt es Pi bis zur Millionsten Stelle im Internet ;)
Falls das ganze nur als Beschäftiguungstherapie gedacht ist: Es gibt diverse Klassen für Delphi die längere Zahlen erlauben. Suche nach BigInt oder "große Zahlen" ;) |
Re: PI berechnen mit Ramanujan 2. Methode
danke ^^
man schätzt, dass man um den umfang des universums zu berechnen gerade mal 50 nachkommastellen braucht. naja wir sind ja bereits bei mehr als einer billion stellen xD ich hab grad en bischen langeweile und wollt schon immer ma pi berechnen xD und denn mach ich ein zahlensystem mit der basis PI auf xD hier ein weiterer algo, der nich ganz so leistungsstark is:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var x,y,a,b,c,pi:extended; i:integer; begin x:=1; a:=1; b:=1/sqrt(2); c:=0.25; for i:=0 to 3 do begin y:=a; a:=( a + b ) / 2; b:=sqrt( b * y ); c:=c - x * sqr( a - y ); x:=2*x; pi:=sqr( a + b ) / (4 * c); Memo1.Lines.Add(FloatToStr(pi)); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz