BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Programmiersprachenkontest: Primzahlüberprüfung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): « vorherige 1 [2] Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Programmiersprachenkontest: Primzahlüberprüfung
Beiträge zu diesem Thema Autor Datum
« Vorherige Seite
 RE: Programmiersprachenkontest: Primzahlüberprüfung CDW 25.02.2003 18:23
 RE: Programmiersprachenkontest: Primzahlüberprüfung Misel 11.02.2007 14:57

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
CDW CDW ist männlich
eine Simulation


Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread

Themenstarter Thema begonnen von CDW
      Zum Anfang der Seite springen

Zmaster: jetz ist die Welt wieder in Ordnung für mich Augenzwinkern - weil ich mir schon dachte, wie es sein kann, dass VB genausoschnell wie asm ist und hatte schon vor, komplett auf C umzusteigen smile : nein, es hat einen ernsthaften Hintergrund,dass ich mich gewundert hat: nach deinem Verfahren untersuchst du etwa nur 1 drittel der Zahlen weniger als ich, jedoch hast du den zusätzlichen Aufwand mit Division/Vergleich, gerade aber in solchen alogs lässt sich der Vorteil von asm ausspielen: Höhere Sprachen benutzen Variablen, die im Speicher angelegt sind, wenn man also etwas berechnet, dann wird die Variable aus dem Speicher ins Register geholt, berechntet und dann zurückgeschrieben - das fällt bei Kleinigkeiten nicht mehr auf, da es inzwieschen recht schnell geht, aber bei tausendfachen Berechnungen ist es schon ein unterschied, da Speicherzugriff jedesmal Zeit kostet.Wenn man es aber "manuell" so gestaltet, dass die Variablen in Registern bleiben (sind 6 benutzbare),spart man sich den "Speichertransfer".
Ansonsten ein logisches Verfahren.
@Compuholic: mein Code könnte sichrerlich noch ein paar Optimierungsrunden vertragen (noch einiges überflüssig/verbesserungsfähig), ansonsten hatte ich vor einiger Zeit auch mal versucht das Verfahren zum Wurzelziehen zu realisiern, habe dann aber auf dem asm-board gelesen, dass es langsammer ist, als wenn man es der CPU/FPU überlässt,da inzwischen auf Prozessoren Hilfstabellen usw implementiert sein sollten, die intern dafür benutzt werden, ich glaube, es steht dazu auch was in Assembler-Gepackt(J.Rohde)
Was mich viel Zeit gekostet hat, ist der "Fehler" der FPU - sie liest DWORD Werte als signed ein und hatte deshalb ab einem bestimmten Wert nur noch minuszahlen eingelesen.Ich habe die ganze Doku abgegrast und nichts dazu gefunden,wie man dieses Verhalten steuern/ändern kann, also habe ich kurzer hand ein QD genommen und mit DWORD PTR drauf zugegriffen.
25.02.2003 18:23 CDW ist offline E-Mail an CDW senden Homepage von CDW Beiträge von CDW suchen
Misel Misel ist männlich
Hüter des Kitkat


images/avatars/avatar-2084.png

Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d e

      Zum Anfang der Seite springen

bin gerade im Newsletter über diesen Thread gestolpert und eben auf'm Klo ist mir noch eine Optimierungsmethode eingefallen, basierend auf der Primzahlenzerlegung. Die Idee hatte ich, als ich mir nochmal zmasters Kommentar zu den durch 3 teilbaren Zahlen durch den Kopf gehen hab lassen.

Zahlen, die keine Primzahlen sind, lassen sich als Faktoren mehrerer Primzahlen darstellen. Man nutzt das zum Beispiel um den kleinste gemeinsame Vielfache zweier Zahlen zu finden.

Man muss bei einer Zahl nur noch prüfen, ob diese durch eine der bereits gefundenen Primzahlen teilbar ist. Ich wage sogar zu behaupten, dass das die geringste Zahlenmenge ist, die man prüfen muss. Allerdings fehlt mir das Können und die Muße das zu beweisen.

Ich bin sicher schon hunderte anderer kluger Köpfe sind darauf gekommen, aber hier im Thread stand es IMHO noch nicht so explizit drin. Deshalb wollte ich es wenigstens erwähnt wissen.

__________________
LAUFT! Ich spiele KILLERSPIELE!
11.02.2007 14:57 Misel ist offline E-Mail an Misel senden Homepage von Misel Beiträge von Misel suchen
Seiten (2): « vorherige 1 [2] Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Programmiersprachenkontest: Primzahlüberprüfung

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH