Wer kann mir sagen wo ich das ausrechnen kann (2^74207281)-1 ?

...komplette Frage anzeigen

3 Antworten

In Binär ist die Darstellung einfach, denn es gilt 2ⁿ–1 = ∑2ᵏ für k=0 bis n–1, daher

2⁷⁴²⁰⁷⁸¹ = 111...11₂ mit exakt 74207281 Einsern

Zur Basis 10 geht das nicht so direkt. Du kannst allerdings wie folgt vorgehen:

10ᵖ = 2⁷⁴²⁰⁷⁸¹ – 1
⟺ 10ᵖ = 2⁷⁴²⁰⁷⁸¹·(1 – 2¯⁷⁴²⁰⁷⁸¹)
⟺ P = (74207281·log(2) + log(1 – 2¯⁷⁴²⁰⁷⁸¹))/log(10)

Es gilt nun (Taylor) log(1–x) = 1+x/(1–y) für ein y∈[0,x], also x = x/1 ≤ log(1–x) ≤ x/(1–x) = ∑xᵏ für k=1 … ∞. Für x=2¯⁷⁴²⁰⁷⁸¹ gilt also log(1–2¯⁷⁴²⁰⁷⁸¹) ∈ [2¯⁷⁴²⁰⁷⁸¹; 2¯⁷⁴²⁰⁷⁸¹+2¯²˙⁷⁴²⁰⁷⁸¹+2¯³˙⁷⁴²⁰⁷⁸¹+…]. Es gilt außerdem 74207281·log₁₀(2) ≈ 51436567,60. Also gilt

P = 51436567,60… + θ/log(10)

wobei θ ∈ [2¯⁷⁴²⁰⁷⁸¹; 2¯⁷⁴²⁰⁷⁸¹+2¯²˙⁷⁴²⁰⁷⁸¹+2¯³˙⁷⁴²⁰⁷⁸¹+…]. Insbesondere gilt θ/log(10) = 0,43·θ und somit ändert θ die Ziffern von 51436567,60… frühstens ab der 51436567-te Nachkommastelle. Darum können wir die ersten 50 Million Nachkommastellen komplett von der Zahl 74207281·log(2)/log(10) = 51436567,60… ablesen.

Es folgt zur Basis 10:

2⁷⁴²⁰⁷⁸¹ – 1 = 10ᵖ
= 10⁵¹⁴³⁶⁵⁶⁷·10^(0.602169595658779…)
4.00100962058834 x 10⁵¹⁴³⁶⁵⁶⁷

Notfalls schreib dir ein kleines Programm dafür. Aber denk dran, wieviel deine Datentypen jeweils speichern können. Sonst kommt nicht das richtige raus. Die Berechnung könnte etwas dauern.

SwaghafterLEL 14.10.2016, 14:37

das ist ja das Problem, der maximale datentyp, dann nur bis 19 dezimal stellen speichern, meine zahl hat aber >22 millionen stellen.

0

Taschenrechner bestimmt nicht. Computer schon, vorausgesetzt, du hast eine Software, die mit derart vielen Stellen rechnen kann. Die Kapazität des Computers muss dafür natürlich auch noch reichen.

Aber was willst du mit derart vielen Stellen anfangen?

Was möchtest Du wissen?