Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Rekursionstiefe (https://www.delphipraxis.net/55256-rekursionstiefe.html)

TheAn00bis 18. Okt 2005 18:30


Rekursionstiefe
 
Ist wahrscheinlich ziemlich einfach, aber ich komme einfach nicht drauf:

Ich erstelle ein Objekt, dieses Objekt erstellt zwei gleiche Objekte, die beiden neuen Objekte erstellen wieder jeweils zwei neue usw.. Also rekursiv und immer zeitgleich. Jetzt zählt jedes Objekt wenn es (selbst) erstellt wird eine globale Variable hoch, so dass die Variable die Anzahl aller erstellten Objekte darstellt. Jetzt will ich über diese Zahl herausfinden, der wievielte "Schub" Objekte das ist. (keine Ahnung wie ich das anders beschreiben soll)

Also:

Anzahl erstellter Objekte: 1 -> 2 -> 4 -> 8 -> 16 -> 32 -> 64 -> ... -> n
Anzahl Schübe----------------1----2----3----4----5-----6------7--> ... -> ?


Meine Frage: Wie kann ich jetzt zur Zahl n die Anzhal der Schübe ausrechnen?


Hört sich jetzt sicherlich viel komplizierter an, als es ist. Schwer zu beschreiben... ;)

Dax 18. Okt 2005 18:34

Re: Rekursionstiefe
 
Ich denke mal log2(n)+1 genügt deinen Anforderungen ;)

Wenn du unbedingt formatieren willst: Code-Tags!

TheAn00bis 18. Okt 2005 18:41

Re: Rekursionstiefe
 
Zitat:

Zitat von Dax
Ich denke mal log2(n)+1 genügt deinen Anforderungen ;)

Ah, :idea: :-D

Vielen Dank!

Zitat:

Zitat von Dax
Wenn du unbedingt formatieren willst: Code-Tags!

Habs dreimal versucht, das zurecht zurücken, aber darauf bin ich nicht gekommen. Guter Tip.

marabu 18. Okt 2005 18:48

Re: Rekursionstiefe
 
Wenn deine Schübe ab 0 gezählt werden, dann ist die Zahl z deiner erzeugten Objekte die Summe aller 2-er Potenzen von 0 bis n - das ist genau 2 hoch (n + 1) - 1. Die Auflösung nach n ergibt dann log2(z + 1) - 1.

Grüße vom marabu

PS: PRE tags zum Zeichnen von Semi-Grafik sind semantisch sauberer...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.

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