0 Daumen
947 Aufrufe
Es sei eine gerade Zahl x gegeben, wie oft lässt sich x dann halbieren, bis x=1 ist. Leider weiß ich nicht wie ich das mathematisch darstellen könnte, gibt es da eine Möglichkeit das als Reihe etc. darzustellen? Ich hätte gerne eine Gleichung, welche ich nach n umstellen kann, wobei n die Anzahl dafür ist wie oft x geteilt werden muss, bis x=1 gilt. Programmiertechnisch lässt sich das ja so darstellen

while (true) {
         if ((n/2) > 1) {
            count = count + 1;
            n=n/2;
         }
         else{
          break;
         }
    
}

Hier würde ich dann gerne ein Formel oder etwas ähnliches für count in Abhängigkeit von n haben.
Avatar von
x*0,5^n = 1

0,5^n =1/x

n = ln(1/x)/ln0,5

n sei die gesuchte Anzahl.

DANKE! Logarithmus hatte ich nicht mehr auf dem Schirm... 

2 Antworten

+1 Daumen
 
Beste Antwort
Hallo,

x * 1/2 * 1/2 * 1/2 usw = 1
x * (1/2)^n = 1
(1/2)^n = 1/x
1 / 2^n = 1/x
2^n = x
n * ln(2) = ln(x)
n = ln(x) / ln(2)
Beispiel
x = 8
n = ln(8) / ln(2)
n = 3
Es muß 3 mal durch 2 dividiert werden
8 : 2 :2 :2 = 1

Hilft dir das etwas ?

mfg Georg
Avatar von
0 Daumen

Die gesuchte Anzahl der Halbierungen kann nur dann eine natürliche Zahl sein, wenn die Ausgangszahl x eine Potenz von 2 ist, also z.B. 2 , 4, 8, 16 usw.

Bei anderen geraden Zahlen erhält man bei fortlaufender Halbierung niemals die 1. 

z.B.

10 / 2 = 5

5 / 2 = 2,5

2,5 / 2 = 1,25

1,25 / 2 = 0,625

0,625 / 2 = 0,3125

Die Folge konvergiert gegen 0.

 

Wenn also die Ausgangszahl x eine Potenz von 2 ist, also x = 2  n , dann ist n auch die gesuchte Zahl von erforderlichen Halbierungen, denn es gilt :

2 n / 2 n = 1

Also:

 x = 2 n

<=> n = log 2 x

bzw., ausgedrückt mit dem Logarithmus naturalis

<=> n = ln ( x ) / ln ( 2 )

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community