Wer kann die schnellsten Primzahlen?
-
Wie gross ist jetzt der Zahlenbereich? [0, 2^63]?
-
Ponto schrieb:
Wie gross ist jetzt der Zahlenbereich? [0, 2^63]?
[0,2^63-1], damits in den signed 64-bitter von java passt.
-
In welchen C++-Datentyp passen den soviele Zahlen rein?
Zarniwoop
-
long long
-
achso.
-
Auf vielen Maschinen reicht auch ein long.
-
-
Also ich würde Assambler ausschliessen, weil Assambler denke ich weit aus Zeitersparender mit dem ''Rechnen'' ist, was ich zumindest bis jetzt gehört habe.
Oder irre ich mich?
-
Lyrix schrieb:
Also ich würde Assambler ausschliessen, weil Assambler denke ich weit aus Zeitersparender mit dem ''Rechnen'' ist, was ich zumindest bis jetzt gehört habe.
Oder irre ich mich?Wenn du das denkst, dann kannst du ja eine Lösung mit Assembler implementieren. Ich denke, dass dir das nahezu nichts bringen wird.
-
Lyrix schrieb:
Oder irre ich mich?
Ja. Man kann etwas in asm schneller machen als der Compiler, aber auch gewaltig langsamer. Man muss schon gut asm können um besser als der Compiler zu sein. Ausserdem verbaut man sich mit asm viele geile Optimierungen, die man auf Hochsprachenebene machen kann, da diese damit eben nicht so ersichtlich und locker zu implementieren sind. Ausserdem ist hier ganz sicher der Algorithmus entscheidend...
-
Walli schrieb:
Lyrix schrieb:
Oder irre ich mich?
Ja. Man kann etwas in asm schneller machen als der Compiler, aber auch gewaltig langsamer. Man muss schon gut asm können um besser als der Compiler zu sein. Ausserdem verbaut man sich mit asm viele geile Optimierungen, die man auf Hochsprachenebene machen kann, da diese damit eben nicht so ersichtlich und locker zu implementieren sind. Ausserdem ist hier ganz sicher der Algorithmus entscheidend...
Der Trick dahinter ist ja erst nach dem Compiler weiterzuoptimieren.
MfG SideWinder
-
SideWinder schrieb:
Der Trick dahinter ist ja erst nach dem Compiler weiterzuoptimieren.
Bringt auch eher wenig, würde ich behaupten. Das Quentchen, was man da raus holt, büßt man an Übersichtlichkeit ein und sieht dann am Ende vielleicht eine Super-Optimierung nicht, weil der Code mit inline-asm verseucht ist.
-
Naja der Prim Algo wird ja vermutlich nicht all zu lang - insofern kann man
ihn doch vollständig in C++ implementieren, optimieren und compilieren.
Danach (und ich denke so meint es auch SideWinder) kann man dann das De-
kompilat weiter optimieren, so dass man sowohl in C++ als auch in ASM alles
ausgereizt hat.
-
Ich glaube zwar nicht, dass man mit solchen Optimierungen hier einen Blumentopf gewinnen kann, aber ich lasse mich gerne vom Gegenteil überzeugen
. Der bessere Algorithmus wirds machen.
-
Ich denke auch eher, dass die Mathematik siegen wird
-
mit der mathematik komm ich leider nimmer viel weiter, ich schaff es zwar, die möglichkeiten im vorfeld schon massiv einzuschränken, aber bei einem suchlauf einer zahl n muss ich immernoch bis zu n/3-1 abfragen machen
-
Nochmal die Frage: Muss es für jede Primzahl immer klappen, oder muss es nur für eine bestimmte (nicht im Vorfeld bekannte) Testreihe funktionieren?
-
Ich würde es besser finden, wenn es immer funktioniert. Bei bestimmten Ver-
fahren muss man dann halt nachprüfen...
-
es muss für alle primzahlen klappen können, oder wie schon gesagt wurde: "der code wird öffentlich gemacht, damit andere fälle finden können, in denen es nicht funktioniert"
-
Nene ich kann in Assample rnur Standards (und da muss ich zugeben, dass ich da sehr viele Mankos hab, da mich diese Programmiersprache überhaupt nicht anspricht, .... Doch leider muss ich es ja in der Schule amchen
).
Das mit der Zeit erwähnte mal unsere Lehrerin, dass man mit einem optimalen Code wesentlich weniger Rechenzeit haben kann als in C oder C++.Wie gesagt, ich weiss es nicht, und ich kann auch nur vom 'Hören' etwas dazu sagen, wollte aber dennoch mal darauf hinweisen, weil es hätte ja etwas dran sein koennen