3 Antworten

Primzahlen bis 500 sind sogar für einen C64 kein Problem.

Halbwegs gut geschriebene Programme können auf einem ganz normalen PC in einer Sekunde mehr als 1000 Primzahlen ausgeben. Allerdings gibt es keine Methoden, die diese Anfangsgeschwindigkeit beibehält, je mehr Primzahlen man gefunden hat, desto langsamer wird das Programm.

Primitive Methoden gehen so vor: Sie klappern alle ungeraden Zahlen nach oben gehend ab und versuchen sie, durch die schon gefundenen Primzahlen zu teilen. Kommt bei keiner dieser Divisionen eine natürliche Zahl heraus, wurde eine Primzahl gefunden. Die wird in die Liste aufgenommen. Das Dumme dabei ist, dass diese Liste immer länger wird und das Überprüfen einer Zahl immer langsamer.

Etwas bessere Programme starten einen zweiten Thread, der die Folge der ungeraden Vielfachen der gefundenen Primzahlen bildet. Diese werden in eine zweite Liste eingetragen. Es ist die Liste der Zahlen, die keine Primzahlen sein können. Multiplikationen sind schneller als Divisionen, das ist der Trick dabei. Eine neue Zahl wird überprüft, indem die Liste abgefragt wird, ob die Zahl darin vorkommt, ist sie nicht in der zweiten Liste, so wird sie in die erste Liste aufgenommen. Wichtig dabei ist, dass die zweite Liste immer ausreichend Vorrat hat, also sämtliche Folgen der ungeraden Vielfachen der gefundenen Primzahlen mindestens so groß sind wie die zu prüfende Zahl. Alle kleineren Zahlen fliegen automatisch raus.

Mit KI sagt er dir, dass es keine höchste Primzahl gibt, ohne KI rechnet er, solange du willst.

Gringo58 
Fragesteller
 18.01.2022, 00:43

Macht Sinn !

0
Wenn der Computer die Aufgabe erhaelt, die hoechste Primzahl auszurechnen

Primzahlen rechnet man nicht aus, sondern ermittelt sie.

"der Computer" erhält keine Aufgaben, er arbeitet Algorithmen ab. Das Verhalten ist dabei vom Algorithmus determiniert.

Sprich: wenn richtig programmiert, "gibt" er nie "auf" (theoretisch, wenn ihm der Speicher ausgeht. Das sollte aber heutzutage kein Thema mehr sein)

Gringo58 
Fragesteller
 17.01.2022, 22:23

Gut. Aber unendlich lang wird er nicht rechnen .....

0
Kwalliteht  17.01.2022, 22:35
Primzahlen rechnet man nicht aus, sondern ermittelt sie.

Um sie zu ermitteln muss man aber rechnen, also wäre ich jetzt nicht so pingelig mit dem Begriff.

1