C++Guns – RoboBlog

26.03.2013

2^168605209-1 not prime

Filed under: Allgemein — Tags: — Thomas @ 10:03

Ich dacht mir, gibt das doch mal in den Taschenrechner ein und überprüfe, ob diese Mersenne Zahl wirklich keine Primzahl ist.
Normale Taschenrechner können so große Zahlen nicht handeln, aber zum Glück gibt es ja die Konsolentools. Z.B. das Programm bc.

echo 2^168605209 | bc -l > zahl
wc -ml zahl
746401 52248027 zahl

Das Ergebnis hat also 51501626 Ziffern (Man muss das Zeilenfortsetzungszeichen "\" abziehen).
Die Zahl 40695358776195832999 soll angeblich ein Faktor sein. Wenn man bc damit füttert, bekommt man eine halbe Stunde später das Ergebnis. Hier die letzten paar Ziffern der Zahl: 432489.0
Wie man sieht ist die Nachkommastelle 0 und damit die Zahl ein ganzer Teiler.

wc -ml ergebnis
746401 52248009 ergebnis

Das Ergebnis hat also 51501608 Ziffern. Halt! Der Dezimalpunkt und die Nachkomma Null zählen nicht mit, also 51501606 Ziffern.
Das macht ein Unterschied von 18 Ziffern gegenüber der Mersenne Zahl. Und der Faktor hat 20 Stellen. Na wo könnten denn die andern 2 Stellen geblieben sein? ;)

No Comments »

No comments yet.

RSS feed for comments on this post.

Leave a comment

You must be logged in to post a comment.

Powered by WordPress