Herausforderung
Die Herausforderung besteht darin, ein Programm zu schreiben, das eine positive Zahl a
und eine Zahl ungleich Null annimmt b
und ausgibt a^b
(a wird zur Potenz erhoben b). Sie können nur + - * / abs()
als mathematische Funktionen / Operatoren verwenden. Diese können nur auf skalare Werte angewendet werden, nicht jedoch auf ganze Listen oder Arrays.
Beispiele:
1.234 ^ 5.678 = 3.29980
4.5 ^ 4.5 = 869.874
4.5 ^-4.5 = 0.00114959
Relevant: http://xkcd.com/217/
Einzelheiten
Sie können eine Funktion oder ein ähnliches Konstrukt für die Verwendung in der Konsole schreiben. Wenn Sie die Konsoleneingabe nicht verwenden können, können Sie davon ausgehen, dass beide Nummern in Variablen und Ausgaben über die Standardausgabe oder das Schreiben in eine Datei gespeichert werden. Die Ausgabe muss auf mindestens 4 Stellen genau sein. Sie können davon ausgehen, dass beide a
und b
ungleich Null sind. Eine Laufzeit von deutlich mehr als 1 Minute ist nicht akzeptabel. Die geringste Anzahl von Bytes gewinnt. Bitte erläutern Sie Ihr Programm und Ihren Algorithmus.
EDIT: Nur positive Basen müssen berücksichtigt werden. Sie können davon ausgehen a>0
. Beachten Sie, dass beide Zahlen keine ganzen Zahlen sein müssen !!!
-0.5 ** 0.5
sein?