Lösungsweg ohne Programmieren.

23/10/2009 - 15:18 von Robert Hartmann | Report spam
Hallo zusammen,

Ich stehe irgendwie auf dem Schlauch,
und würde um die folgende Frage zu beantworten,
einfach eine Schleife programmieren,
die mir entsprechende Antwort liefert.


Sei n eine natürliche Zahl (größer Null).

Gegeben drei Funktionen:


g(n) = n;

h(n) = n * log n; (mit log n als Logarithmus zur Basis 2)

i(n) = n^2;

Gesucht ist das größte n für das gilt, dieses heiße x:

h(x) <= 10^6



Da stets gilt:

g(n) <= h(n) <= i(n)

gilt für das gesuchte x:

10^6 >= x >= 10^3


Ich habe also eine obere und untere Schranke für x gefunden.


Mein im Sinne der Aufgabe unzulàssiger Lösungsalgorithmus wàre:

x := 10^6;
while( h(x) > 10^6 )
x := x-1;
return x;

Wie aber komme ich ohne zu testen analytisch an den Wert von x?

max{x | mit x * log x <= 10^6 } = ??

Gruß Robert
 

Lesen sie die antworten

#1 ram
23/10/2009 - 16:12 | Warnen spam
Robert Hartmann writes:




n ld n = 1E6

ld n^n = 1E6

n^n = 2^1E6

n = e^( W( ln 2^1E6 ), W = Lambertsche W-Funktion

n = e^( W( 1E6 ln 2 ))

n ~= e^( W( 693147,180559945309417232121458177 ))

n ~= e^( 11,0469 )

n ~= 62749,1304796490805247312536515436

Ähnliche fragen