Hi,
ich stehe bei der ersten Aufgabe auf dem Schlauch :/ Wie sollen wir p bestimmen, nachdem wir eine Zahl p' gefunden haben, die prim ist. Meine erste Überlerung war, p' solange um eins zu erhöhen sodass p' eine primzahl ist und 2p'+1 ebenfalls. Wie aber prüfen wir ob ein BigInteger prim ist!! Kann mir einer auf die Sprünge helfen ?
MAHI
Frage zur ersten Aufgabe(Ferienübung)
Re: Frage zur ersten Aufgabe(Ferienübung)
Man öffne die Dokumentation: http://docs.oracle.com/javase/7/docs/api/mahi hat geschrieben:Wie aber prüfen wir ob ein BigInteger prim ist!! Kann mir einer auf die Sprünge helfen ?
Suche nach der Klasse BigInteger: http://docs.oracle.com/javase/7/docs/ap ... teger.html
Und bemerke die Methode isProbablePrime.

VG
Re: Frage zur ersten Aufgabe(Ferienübung)
Ja die Methode kenne ich, irgendwie weiß ich aber nicht was ich als Parameter übergeben muss. Egal was für einen Wert ich übergebe bekomme ich als Ausgabe nur konstant false bei anderen Werten nur true raus.
Re: Frage zur ersten Aufgabe(Ferienübung)
Was? Den Satz verstehe ich leider nicht.mahi hat geschrieben:Egal was für einen Wert ich übergebe bekomme ich als Ausgabe nur konstant false bei anderen Werten nur true raus.
Der Parameter bestimmt wie hoch die Wahrscheinlichkeit ist, dass es sich wirklich um eine Primzahl handelt wenn true zurück gegeben wird.. 10 wäre ein guter Wert.
Alternativ kannst du auch nextProbablePrime benutzen.
Re: Frage zur ersten Aufgabe(Ferienübung)
Und das reicht? Da kriegt man ja nur höchstwahrscheinlich eine Primzahl aber nicht mit Sicherheit.
Re: Frage zur ersten Aufgabe(Ferienübung)
Ja das reicht. Das wurde schon in mehreren Threads und in der Vorlesung gesagt. Es ist einfach extrem viel Aufwand das mit Sicherheit zu sagen, daher nimmt man dann Pseudoprimzahlen. Und du kannst ja ausrechnen wie hoch die Wahrscheinlichkeit ist. Steht ja in der Dokumentation der BigInteger Klasse.
VG
VG