Delphi-PRAXiS
Seite 8 von 8   « Erste     678   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 9hoch9hoch9 - hohe Zahlen (https://www.delphipraxis.net/16766-9hoch9hoch9-hohe-zahlen.html)

sakura 2. Mär 2004 14:00

Re: 9hoch9hoch9 - hohe Zahlen
 
Zitat:

Zitat von negaH
Also, wenn einer eine Machine mit 1-2 GB Hauptspeicher hat, der soll sich melden und ich lasse ihm das Program zukommen.

*meld*

...:cat:...

negaH 2. Mär 2004 14:36

Re: 9hoch9hoch9 - hohe Zahlen
 
Liste der Anhänge anzeigen (Anzahl: 1)
anbei das Program.

Zuerst müsst ihr das Program auf eine Platte entpacken die mindestens 1Gb Platz hat. Dann startet ihr es und klickt im Menu auf "Estimate". Diese Funktion berechnet die nötige Zeit und die minimale Dateigröße der Dezimalen Zahl 9^9^9.

Mit "Calculate" berechnet ihr diese Zahl, allerdings kann ich nicht sagen ob 1Gb Hauptspeicher auch tatsächlöich ausreicht. Die berechneten Zeiten beziehen siech auf einen Rechner mit ungegrenz großem Hauptspeicher.
Zuerst wird 9^9^9 als binäre Zahl berechnet und diese Zahl in die Datei "9x9x9.bin" gespeichert. Danach wird diese Zahl in eine Dezimalzahl umgewandelt, das kann nochmal einige Zeit in Anspruch nehmen. Deren Ausgabe wird in die Datei "9x9x9.txt" gespeichert. Diese Datei wird mit Sicherheit größer als 400Mb sein.

Ich hoffe das meine Aufwandsberechnungen richtig sind.

Gruß Hagen

Robert_G 2. Mär 2004 14:37

Re: 9hoch9hoch9 - hohe Zahlen
 
*Meld*
Kann erst heute Abend testen (ich muss hier im Büro vorübergehend an 'nem AMD arbeiten :cry: )

negaH 2. Mär 2004 14:43

Re: 9hoch9hoch9 - hohe Zahlen
 
Achso, ein Pentium 4 wäre anzuraten, da meine Funktionen intern SSE2 Assembler benutzen. Beim AMD wird dieser Befehlssatz nicht unterstützt und somit dürfte die Performace ca. 2 mal langsamer sein.

Gruß Hagen

Robert_G 2. Mär 2004 14:51

Re: 9hoch9hoch9 - hohe Zahlen
 
Das Problem war mir bewusst, deshalb der Einwand mit dem AMD (Außerdem dürfte dein Algo von 800 Mhz FSB profitieren und ich kann den neuen PressKopf mal testen :wink: )

nailor 2. Mär 2004 14:59

Re: 9hoch9hoch9 - hohe Zahlen
 
und wer kontrolliert hinterher, dass der Code von Hagen keine Zufallszahl liefert

ach ja: nein, ich hab mir das Archiv nicht runtergeladen und nach Quelltext geguckt, weil ich nicht zufällig nen Gig RAM hab

sakura 2. Mär 2004 15:04

Re: 9hoch9hoch9 - hohe Zahlen
 
@Hagen: Geschätzt sind 4 Minuten. Nach knap 6 Minuten hat Dein Proggie die Datei 9x9x9.bin gespeichert - seit dem macht es weiter und weiter und weiter ... nur was :shock:

...:cat:...

-homer- 2. Mär 2004 15:06

Re: 9hoch9hoch9 - hohe Zahlen
 
hi,

@Sakura: Vielleicht installiert dir das Prog ja gerade einen Wurm.^^



-homer-

Stanlay Hanks 2. Mär 2004 15:07

Re: 9hoch9hoch9 - hohe Zahlen
 
Ich schätze mal, es rechnet :wink:
Jeder kann sich ja mal verrechnen *gg*
Man liest sich, Stanlay :hi:

negaH 2. Mär 2004 18:53

Re: 9hoch9hoch9 - hohe Zahlen
 
Zitat:

@Hagen: Geschätzt sind 4 Minuten. Nach knap 6 Minuten hat Dein Proggie die Datei 9x9x9.bin gespeichert - seit dem macht es weiter und weiter und weiter ... nur was
Tja, es wandelt nun die errechnete Binärzahl von 9^(9^9) in einen Dezimal Zahlen String um. Dies wird mit Sicherheit länger dauern als die eigentliche Berechnung von 9^(9^9).

Bei der Berechnung von 9^(9^9) sind ausschließlich nur Multiplikationen und Quadrierungen nötig. Bei der Umwandlung in einen Dezimal-String sind aber zusätzlich Divisionen und String-Operationen nötig. Ich habe zwar für diesen Algo. wesentlich effizientere Methoden benutzt als Marcel Martin's Code, aber denoch must du bedenken das wir hier von einer rießigen Zahl reden.

Man könnte sich den ganzen Umrechnungs-quatsch sparen indem man nicht zur Zahlenbasis 2^32 sondern 10^9 rechnet. D.h. die Zahlen und alle Berechnungen intern werden auf Speicherstrukturen durchgeführt die kleine Happen zu 10^9 enthalten. Am Ende käme eine große Zahle raus die mit der Dezimaldarstellung identisch wäre. ABER! dadurch sinkt die Performance der eigentlichen Berechnung erheblich, und viel schlimmer noch: ich müsste meinen kompletten Code komplett neu schreiben. Die Anzeigen zu den Basen 2,4,8,16,32,64 ist dageben enorm schnell mit meiner Library, sowie auch Marcel's, da wir beide zur Zahlenbasis 2^32 arbeiten. 2^32 ist nur eine Potenz der Basis 2, d.h. im Grunde arbeiten beide Libraries mit echten Binärzahlen.

Ich bin aber noch am überlegen, denn wenn ich mich richtig erinnere gibt es bei Potenzen zu 9 ganz bestimmte Tricks wie man ohne aufwendige Berechnungen das Resultat erzielen kann.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.
Seite 8 von 8   « Erste     678   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz