Algorithmus in naturlicher Sprache für Primzahlen?

Erste Frage Aufrufe: 1117     Aktiv: 19.11.2021 um 11:00

0

Hallo, wie kann man einen Algorithmus in naturlicher Sprache schreiben, der alle ¨ Primzahlen zwischen 1 und einer gegebenen Zahl n > 1 ausgibt.

Grüße

Diese Frage melden
gefragt

Punkte: 10

 
Kommentar schreiben
1 Antwort
0

Ein vielleicht nicht besonders effizienter, aber definitiv funktionaler Weg wäre: 1 und 2 werden als Primzahlen ausgegeben. Ist n>2, wird eine Zählschleife für i=3 bis n gestartet: Für jedes i wird eine Variable k = 2 gesetzt. Ist i durch k teilbar (also der ganzzahlige Rest der Division beider Zahlen = 0), so ist i keine Primzahl. Ist i nicht durch k teilbar, wird k hingegen um 1 erhöht. Sollte k nun = i sein, ist i eine Primzahl und kann zur Liste deiner Primzahlen (z. B. in ein Array) eingefügt werden, ansonsten wird wieder die Teilbarkeit von i und k geprüft.

Natürlich wäre es auch möglich (und vermutlich übersichtlicher), eine innere Zählschleife von k = 2 bis i-1 einzubauen; dies hätte jedoch Einbußen bei der Effizienz zur Folge, da beispielsweise für alle geraden Zahlen mitunter viel Rechenzeit verschwendet werden würde, da bereits bei der ersten Prüfung klar wäre, dass i keine Primzahl ist (weil eben durch 2 teilbar), die Prüfung aber trotzdem bis i-1 weiterliefe.

Ich hoffe, bei den ganzen Variablen war die Erläuterung einigermaßen verständlich. Ich habe das ganze sonst noch einmal in einem Struktogramm dargestellt, falls es dem Verständnis des Algorithmus dienlich ist ;-)

Struktogramm

Diese Antwort melden
geantwortet

Student, Punkte: 10

 

Kommentar schreiben