🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.sci.informatik.ki
Article #21

Re: Unl�sbares Problem!?

#21
From: Markus Kuhn
Date: Wed, 16 Dec 1998 00:00
58 lines
3192 bytes
In Markus.Wurdak@t-online.de (Markus Wurdak) writes:
|> Ich habe folgendes Problem: Ich will ein Programm schreiben (Turbo
|> Pascal), welches mir die Zahl "9 hoch 9 hoch 9", also "9 hoch 387420489"
|> berechnet. Da diese Zahl (ca. 387420489 Ziffern) viel zu gro� f�r eine
|> Variable ist, h�tte ich folgende Fragen:
|> 
|> - ist es m�glich die Berechnung schrittweise (stellenweise, evt.
|> r�ckw�rts bzw. von hinten) auszuf�hren und gleichzeitig in eine
|> Textdatei zu speichern? Wenn ja, wie? Ich br�uchte nur den
|> mathematischen Teil f�r die stellenweise Berechnung!

Du berechnest 9^2, 9^4, 9^8, 9^16, 9^32, 9^64, usw. durch
fortw�hrendes Quadrieren. Du stellst 387420489 als Binaerzahl
dar, und multipliziert die 9^(2^i) f�r die die i-te Binaerziffer
des Exponenten 1 ist. Das ist der �bliche Square&Multiply
Algorithmus.

Literatur: Donald E. Knuth, The Art of Computer Programming,
Volume II, Seminumerical Algorithms.

|> - wie bekomme ich heraus, wieviele Ziffern diese Zahl exakt hat?

Trivial:

log10(9^(9^9)) = (9^9)*log10(9)

|> - ist es m�glich mehrere Variablen (evt. Felder) zu einer berechenbaren
|> Variable zu kombinieren? Wenn ja, wie?

Klar. Bignum Arithmetik wird in Knuth (siehe oben) ausf�hrlich diskutiert.
Du kannst auch gmp benutzen, eine GNU C library f�r das effiziente
Rechnen mit beliebig grossen Zahlen.

|> - gibt es andere M�glichkeiten, diese Berechnung, bzw. das Ergebnis
|> davon, in eine Datei auf der Festplatte zu bekommen?

Benutze nicht Pascal sondern eine Sprache mit eingebauten bignum
Datentypen, wie etwa Scheme oder Mathematica.

Das Scheme Programm 

  (expt 9 (expt 9 9))

tut das gew�nschte (dauert aber etwas ...).

|> Hintergrund: Mein Mathematik-Lehrer gibt nen Kasten Bier aus, wenn ihm
|> jemand diese Zahl berechnet. Diese Wette hat er jedoch vor dem Zeitalter
|> des CD-Brennens ausgesprochen, und hat gedacht soviel Papier w�re dies
|> nicht wert ;-)))...

OK, eine Flasche geht aber dann bitte an die Adresse auf meiner
Web seite ... ;-)

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>
Technical Details
Message-ID: <7573h2$2lc$1@pegasus.csx.cam.ac.uk>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <36765AD0.141E39D@t-online.de>

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII
X-Google-Thread: 113080,a06195c287227431
X-Google-Attributes: gid113080,public
X-Google-Thread: 102c5b,a06195c287227431
X-Google-Attributes: gid102c5b,public
X-Google-Thread: 1102ea,a06195c287227431
X-Google-Attributes: gid1102ea,public
X-Google-Thread: 113dff,a06195c287227431
X-Google-Attributes: gid113dff,public
X-Google-Thread: 1032cb,a06195c287227431
X-Google-Attributes: gid1032cb,public
X-Google-Thread: f4da7,a06195c287227431
X-Google-Attributes: gidf4da7,public
From: mgk25@cl.cam.ac.uk (Markus Kuhn)
Subject: Re: Unl�sbares Problem!?
Date: 1998/12/16
Message-ID: <7573h2$2lc$1@pegasus.csx.cam.ac.uk>
X-Deja-AN: 422711592
References: <36765AD0.141E39D@t-online.de>
To: Markus.Wurdak@t-online.de
Organization: U of Cambridge Computer Lab, UK
Newsgroups: de.sci.informatik.ki,de.sci.informatik.misc,fido.ger.informatik,maus.sci.informatik,z-netz.wissenschaft.informatik,de.sci.mathematik