Jo mal abgesehen davon, dass ich ausdrücklich nach einer _mathematischen_ Formel und nicht gleich nach dem fertigen Code gefragt habe, (da ich diesen dann selber realisieren wollte) kann ich Rika's Code so weit schon nach vollziehen.
Und was ist nun ein Hashset?
Pascalproggi Zur Berechnung Von Pi
Anzeige
#17
geschrieben 18. Dezember 2004 - 10:07
Zitat
_mathematischen_ Formel
u = n*sqrt(2-2*sqrt(1-sqrt(u/n)));
oder
u = 2*u/sqrt(2+2*sqrt(1-sqrt(u/n)));
#18
geschrieben 18. Dezember 2004 - 11:45
@ Stefeanra
Beziehen sich deine Formeln jetzt auf die Berechnung/Aufspührung von Primzahlen, oder meine Frage, ob man die Prozedur "zwisch" hätte auch einfacher gestalten können? Ich glaube nämlich, dass du auf ersteres eingegangen zu sein scheinst, trotzdem auf jeden Fall _Danke_ und vielleicht kannst du die Sache ja nochmal aufklären.
BTW: Die Frage, ob man die Prozedur "zwisch" hätte einfacher gestalten können, konnte ich mir nach einigen herumprobieren selber beantworten und komme zum Ergebnis JA! Ist im Prinzip genauso wie auf meinen Grafik fähigen Taschenrechner TI 83+ - Falls den jemand kennen sollte. Man muss halt nur immer mit den Klammern ordentlich aufpassen.
Beziehen sich deine Formeln jetzt auf die Berechnung/Aufspührung von Primzahlen, oder meine Frage, ob man die Prozedur "zwisch" hätte auch einfacher gestalten können? Ich glaube nämlich, dass du auf ersteres eingegangen zu sein scheinst, trotzdem auf jeden Fall _Danke_ und vielleicht kannst du die Sache ja nochmal aufklären.
BTW: Die Frage, ob man die Prozedur "zwisch" hätte einfacher gestalten können, konnte ich mir nach einigen herumprobieren selber beantworten und komme zum Ergebnis JA! Ist im Prinzip genauso wie auf meinen Grafik fähigen Taschenrechner TI 83+ - Falls den jemand kennen sollte. Man muss halt nur immer mit den Klammern ordentlich aufpassen.
#19
geschrieben 18. Dezember 2004 - 11:52
Sorry, ich dachte, du wolltest immer noch PI berechnen.
#20
geschrieben 20. Dezember 2004 - 03:53
Es gibt keine einzige arithmetische Formal, die die Primzahlinzidenz ausdrückt, nur _Algorithmen_ bzw. algebraische Formeldarstellungen. Sieb des Erathosthenes wurde ja benannt, du kannst aber genauso gut NP-vollständige Primzahltests a la Fermat, Rabin-Miller, Lukas, Baillie-Wagstaff-Lukas oder Cauchy oder gleich einen P-Test a la Agramal verwenden.
Ein HashSet ist eine Implementierung des Interfaces Set in Java, welches eine Menge beschreibt. Es ist zwar etwas langsamer als ein Array, aber dadurch daß es mit Hashes arbeitet und auch geordnet sein kann, wäre es für das modifzierte Sieb des Erathostenes besser geeignet. (d.h. "Schritt 3 = lösche jede durch die aktuell gefundene Primzahl teilbare Zahl in den verbleibenden Zahlen" wird durch "Schritt 3 = ist n die aktuell gefundene Primzahl, so lösche jede n-te Zahl der verbleibenden Zahlen)
Ein HashSet ist eine Implementierung des Interfaces Set in Java, welches eine Menge beschreibt. Es ist zwar etwas langsamer als ein Array, aber dadurch daß es mit Hashes arbeitet und auch geordnet sein kann, wäre es für das modifzierte Sieb des Erathostenes besser geeignet. (d.h. "Schritt 3 = lösche jede durch die aktuell gefundene Primzahl teilbare Zahl in den verbleibenden Zahlen" wird durch "Schritt 3 = ist n die aktuell gefundene Primzahl, so lösche jede n-te Zahl der verbleibenden Zahlen)
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#21
geschrieben 18. Januar 2005 - 17:18
huhu
Nachdem ich mir die grundlegensten Kenntnisse (wirklich nur die grunlegensten ) in Turbo Pascal geholt habe, habe ich mir nun ein Buch zur Delphiprogrammierung gekauft, Delpgi 6 lernen. Ich habe nun versucht das Pascal Proggi in Delpi zu portieren, doch erhalte ich an der rot markierten Stelle einen Fehler. Ich glaube den Fehler auch zu kennen und zwar liegt es glaube ich daran, dass der Befehl
BTW: Warum kann ich, wenn ich die CODE-Tags nehme, keine Abschnitte rot markieren.
Nachdem ich mir die grundlegensten Kenntnisse (wirklich nur die grunlegensten ) in Turbo Pascal geholt habe, habe ich mir nun ein Buch zur Delphiprogrammierung gekauft, Delpgi 6 lernen. Ich habe nun versucht das Pascal Proggi in Delpi zu portieren, doch erhalte ich an der rot markierten Stelle einen Fehler. Ich glaube den Fehler auch zu kennen und zwar liegt es glaube ich daran, dass der Befehl
IntToStrscheinbar nur mit Integer-Datentypen funktioniert. Meine Frage ist nun, wie ich das Programm auch mit einem extended-Datentyp zum Laufen bekomme.
Zitat
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
VAR
Sn, enderg: extended;
X: Byte;
Y: Word;
begin
SN:= 1;
Y:= 3;
X:= StrToInt(Edit1.Text);
repeat
X:= X - 1; {Gib die Anzahl der Stellen hinterm Komma an}
Y:= Y * 2;
SN:=sqrt(2-2*sqrt(1-((SN*SN)/4)));
Enderg:= y * SN;
Label1.Caption := 'Pi = ' + IntToStr(enderg);
until X = 0;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
VAR
Sn, enderg: extended;
X: Byte;
Y: Word;
begin
SN:= 1;
Y:= 3;
X:= StrToInt(Edit1.Text);
repeat
X:= X - 1; {Gib die Anzahl der Stellen hinterm Komma an}
Y:= Y * 2;
SN:=sqrt(2-2*sqrt(1-((SN*SN)/4)));
Enderg:= y * SN;
Label1.Caption := 'Pi = ' + IntToStr(enderg);
until X = 0;
end;
end.
BTW: Warum kann ich, wenn ich die CODE-Tags nehme, keine Abschnitte rot markieren.
#22
geschrieben 18. Januar 2005 - 17:48
Zitat (Bockfett: 18.01.2005, 17:18)
Ich glaube den Fehler auch zu kennen und zwar liegt es glaube ich daran, dass der Befehl
IntToStrscheinbar nur mit Integer-Datentypen funktioniert. Meine Frage ist nun, wie ich das Programm auch mit einem extended-Datentyp zum Laufen bekomme.
ist ja auch klar inttostr bedeutet integer nach string, wenn du extended haben möchtest heißt das
floattostr
die variablen snd dann z.b double oder real usw.
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
you are running an OS
you use a Browser
I know so much about you...
#23
geschrieben 18. Januar 2005 - 17:50
Stimmt jetzt wo du es sagst, nur wußte ich bis ebend trotzdem nicht den richtigen Befehl. ^^
Also danke!
Also danke!