Eure Ausführungen haben mich an alte, längst vergessene Zeiten und das Sieb des Eratosthenes erinnert - wohl einer der ersten Algorithmen, mit denen sich ein(e) angehende(r) Programmierer(in) herumärgern muss. ^^

@getöteter_ork:
  • Die Idee, eine erste Kurzschlussreaktion mit 2,3,5 und 7 zu machen, finde ich gut.
  • Die Bedingung "a <= y / 2" in der For-Schleife solltest du zu "a <= sqrt(y)" abändern, sofern es sich um die Abbruchbedingung handelt, bis zu der die Überprüfung laufen soll.
  • Deinem Quelltext nach dürftest du eigentlich keine Liste von Primzahlen herausbekommen, sondern eher die letzte grösste Primzahl bis zur geforderten Grenze.


@Rolus:
  • Schöne Idee, dass mit der HTML-File.
  • Die Break-Anweisung für "c<1" soll sicher gelten für "c>1". Ansonsten geht die Schleife ja immer bis zum letzten "tmp" durch, also immer bis zur Wurzel der Ausgangszahl.


Generelle Anmerkungen:
  • Bei beiden Versionen fehlt mir eine Idee, um die vorhergehenden Ergebnisse mit einfliessen zu lassen. Für jede zu testende Zahl werden sämtliche Berechnungen immer wieder von vorn gestartet. Das ist sicher hinreichend für das Problem, eine einzelne Zahl auf Primzahl zu testen. Aber bei grösseren Bereichen sind sicherlich verschiedene Optionen der Wiederverwendbarkeit sinnvoll.
  • Nur mal so: Ich finde es schwierig, solche bereits optimierten Quelltexte zu lesen. Sie sind zwar formatiert, enthalten aber noch viel Zeug drumherum, Einlesen von Daten, Ausgabe von Daten, etc. Kann sein, dass nur ich das so sehe... dann verzeiht mir bitte, aber ansonsten wäre Pseudocode bzw. nur der wirklich wichtige Code-Ausschnitt imo wesentlich einfacher zu analysieren.
  • Denkanstösse gibt es unter anderem auf der gerngelesenen Wikipedia, wo auch ich mein geliebtes Sieb dieses schwer zu schreibenden Mathematikers wiedergefunden habe.
  • Das wäre auch mal ein schönes Topic für einen Contest gewesen, (den Meister Ineluki mit seinen Assemblerkenntnissen wohl gewonnen hätte).


Küsschen,
Feenstaub.