Sfida
La sfida è scrivere un programma che prende un numero positivoa
e un numero diverso da zerob
e produce a^b
(a elevato alla potenza b). È possibile utilizzare solo + - * / abs()
come funzioni / operatori matematici. Questi possono essere applicati solo a valori scalari, ma non a interi elenchi o matrici.
Esempi:
1.234 ^ 5.678 = 3.29980
4.5 ^ 4.5 = 869.874
4.5 ^-4.5 = 0.00114959
Rilevante: http://xkcd.com/217/
Dettagli
È possibile scrivere una funzione o un costrutto simile da utilizzare in console. Se non è possibile utilizzare l'input della console, è possibile supporre che entrambi i numeri vengano salvati in variabili e completati tramite output standard o scrivendo in un file. L'output deve essere corretto per almeno 4 cifre significative. Puoi presumere che entrambi a
e b
siano diversi da zero. Un tempo di esecuzione significativamente superiore a 1 minuto non è accettabile. Vincerà il numero minimo di byte. Spiega il tuo programma e il tuo algoritmo.
EDIT: solo le basi positive devono essere considerate. Puoi presumere a>0
. Ricorda che entrambi i numeri non devono essere numeri interi !!!
-0.5 ** 0.5
?