🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Unl�sbares Problem!?

#23
From: Danny Lade
Date: Fri, 18 Dec 1998 00:00
43 lines
3116 bytes
On Wed, 16 Dec 1998, Markus Kuhn wrote:
>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:
>|> 
>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.

Und summierst das Ergebnis auf ...

>
>Literatur: Donald E. Knuth, The Art of Computer Programming,
>Volume II, Seminumerical Algorithms.
>
Gut, aber ganz so trivial ist das ja nun auch nicht ... 387420489 besteht
naehmlich aus 29 Bit. 
Das heisst man muss immernoch mit 9^(2^28) multiplizieren und das ist auch eine
Zahl mit 256152524 Stellen. Dafuer sind es somit nur 29 Multiplikationen mit
sehr grossen Zahlen.
Und ich weis nicht ob das Quadrieren so grosser Zahlen ohne weitere
Komplikationen moeglich ist ... ich stell mir gerade (9^(2^27))^2 vor :-}
Man multipliziere mit der ersten Stelle merke sich das Ergebnis, multipliziere
mit der zweiten Stelle, summiere auf u.s.w. ... da ist man auch nicht schneller
fertig als wenn man das gleich "von Hand" macht.

Man kann das Byte natuerlich voll ausnutzen und so 369693100 / 256 gleich
1444114 Stellen abspeichern. Na damit laesst sich doch schon rechnen.
Natuerlich rechnet man am Ende mit 'int', das erspart unnoetige Multiplikationen
und Additionen.

Falls eine grobe Implementierung gewuenscht ist, kann ich mir darueber ja
nochmal Gedanken machen ...

Danny
--
In einer Irrsinnigen Welt vern�nftig sein zu wollen, 
ist schon wieder ein Irrsinn f�r sich.
Voltaire
Technical Details
Message-ID: <913970524.158134741@Phobos>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <36765AD0.141E39D@t-online.de> <7573h2$2lc$1@pegasus.csx.cam.ac.uk>

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: f4da7,a06195c287227431
X-Google-Attributes: gidf4da7,public
X-Google-Thread: 1032cb,a06195c287227431
X-Google-Attributes: gid1032cb,public
From: Danny Lade <mld@gtc.ibu.de>
Subject: Re: Unl�sbares Problem!?
Date: 1998/12/18
Message-ID: <913970524.158134741@Phobos>
X-Deja-AN: 423934316
Content-Transfer-Encoding: 8bit
References: <36765AD0.141E39D@t-online.de> <7573h2$2lc$1@pegasus.csx.cam.ac.uk>
Followup-To: de.sci.informatik.ki,de.sci.informatik.misc,fido.ger.informatik,maus.sci.informatik,z-netz.wissenschaft.informatik,de.sci.mathematik
Content-Type: text/plain; charset="iso-8859-1"
Organization: Friedrich-Schiller-University Jena, Germany
Mime-Version: 1.0
Newsgroups: de.sci.informatik.ki,de.sci.informatik.misc,fido.ger.informatik,maus.sci.informatik,z-netz.wissenschaft.informatik,de.sci.mathematik