BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Primzahlen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Primzahlen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
scr!pTk!d scr!pTk!d ist männlich
Member


Dabei seit: 10.11.2002
Beiträge: 276

Primzahlen       Zum Anfang der Seite springen

um zu prüfen ob eine zahl prim ist oder nicht, muss man alle primzahlen bis zur quadratwurzel durch die zahl dividieren und auf reste prüfen. wenn ich jetzt eine sehr große zahl auf ihre "primheit" prüfen will, also z.b.
2^1024 + 1, muss ich durch alle primzahlen bis 2^512
dividieren. angenommen es wären 10 ^ 9. dann bräuchte ich für das array, in welche ich die primzahlen ablegen muss 10 ^ 9 * 4 byte (bei integer vars in c), 3,8147 gigabyte (!!!). wenn ich andererseits durch alle zahlen dividiere um das speicherproblem zu umgehen habe ich 2 ^ 512 - 1 divisionen. wie kann ich das problem lösen?

__________________
ceterum censeo carthaginem esse delendam
02.05.2003 19:18 scr!pTk!d ist offline E-Mail an scr!pTk!d senden Beiträge von scr!pTk!d suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Für was brauchst du so große zahlen ?
Wenn würde man das mit einer Datenbank dann machen...

Devil

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
02.05.2003 19:31 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Compuholic Compuholic ist männlich
knows where he wants to go tomorrow


images/avatars/avatar-552.jpg

Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München

      Zum Anfang der Seite springen

Wenn Du nur eine vorhandene Zahl testen willst ob sie eine Primzahl ist gibt es eine Möglichkeit. Algorithmen wie RSA benötigen ja auch Routinen um in annehmbarer Zeit Primzahlen zu erzeugen. Ein Beispiel dafür ist der Rabin-Miller Algorithmus. Aber es gibt noch eine Reihe weiterer die mir aber nicht genau bekannt sind.

Vielleicht hilft dir das hier:
http://rhlx01.rz.fht-esslingen.de/projec.../prim/prim.html

Aber wenn Du eine Zahl faktorisieren willst bleibt Dir nur der Weg des Ausprobierens.
03.05.2003 00:17 Compuholic ist offline E-Mail an Compuholic senden Homepage von Compuholic Beiträge von Compuholic suchen
scr!pTk!d scr!pTk!d ist männlich
Member


Dabei seit: 10.11.2002
Beiträge: 276

Themenstarter Thema begonnen von scr!pTk!d
      Zum Anfang der Seite springen

@devil: es geht nur um einen kontest mit einem freund, wer das schnellere programm schreibt, deshalb wäre auch eine datenbank unsinnig (hohe zugriffszeit etc)

@compuholic: ich will keine zahlen faktorisieren(ich habe keinen supercomputer zuhause). es ging mir nur darum
einen schnellen algorithmus zu bekommen. die in dem link beschriebenen scheinen sehr gut zu sein smile
vielen dank

__________________
ceterum censeo carthaginem esse delendam
03.05.2003 00:39 scr!pTk!d ist offline E-Mail an scr!pTk!d senden Beiträge von scr!pTk!d suchen
CDW CDW ist männlich
eine Simulation


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

      Zum Anfang der Seite springen

das mit der Quadratwurzel ist schojjn richtig, aber du kannst auch noch einiege verbesserungen machen:
nach dem durch zwei dividiert wurde, kann man den index nur noch mindestens um 2 erhöhen.
Wir hatten hier mal auch den kontest, schau da die Lösungen nach smile zumindest dauert damit ne Zahlüberprüfung von einer (extra dafür erzeugten)Primzahl die etwa 2^32 groß ist weniger als 1ms (nicht messbar).Und man kommt dann ohne Array aus.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von CDW: 03.05.2003 11:18.

03.05.2003 11:16 CDW ist offline E-Mail an CDW senden Homepage von CDW Beiträge von CDW suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Primzahlen

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH