Methoden Rekursive Potenz ohne Math.Pow()

J

javatar

Mitglied
Hallo,

bin ganz neu hier. Ich habe ein kleines Problem. Ich möchte eine rekursive Methode schreiben, die mir eine Potenz X^n berechnet.

Soweit tut es was es soll, aber die Laufzeit ist immer so lang wie n groß ist. Kann man das nicht irgendwie optimieren, ich habe das hier gelesen Wiki, werde aber nicht ganz schlau draus, kann mir jemand helfen? Ahja, das ist mein Code:
Java:
 public double power(double x, long n){
	 
    	
    	if(n == 0){
    		ergebnis = 1;
    	}
    	if(n == 1){
    		ergebnis = x;
    	}
    	if(n > 1){
    		anzahlRechnungen++;	
    		ergebnis = x * power(x,n-1);

    	}
    		
    	return ergebnis;
    }

Gruß Javatar
 
M

Marcinek

Gast
Ja, wenn man es interaktiv berechnet und dann hat man noch die Möglichkeit es zu beschleunigen.

Rekursionen verursachen einen speicher overhead.
 
faetzminator

faetzminator

Gesperrter Benutzer
Der gepostete iterative Code ist genau das gleiche wie dein rekursiver Code. Wo ist denn dein Problem? Du willst eine rekursive Methode - du hast eine rekursive Methode.
 
S

SlaterB

Gast
Rekursion oder iterativ per Schleife ist nur eine reine Technik, unabhängig vom Inhalt,

auf die Potenz bezogen kannst du in beiden Fällen die Anzahl der Durchläufe optimieren:
7^100
= 7*7*7*7 ......... 100x

oder

a = 7*7 = 7^2
b = a*a = 7^4
c = b*b = 7^8
d = .. 7^16
e = .. 7^32
f = .. 7^64

das sind schon nur 6 statt 100 Schritte und 'über die Hälfte' geschafft,
natürlich erreicht man nur mit Verdopplung selten exakt das Ergebnis, bisschen Arbeit ist da noch,
ich hoffe du willst das selber machen und nicht einfach die fertige Lösung haben ;)
alles per Rekursion oder Iteration zu lösen, ich rede nicht von vielen einzelnen Variablen
(gut, steht im Wiki praktisch auch so)
 
Zuletzt bearbeitet von einem Moderator:
M

Marcinek

Gast
Der gepostete iterative Code ist genau das gleiche wie dein rekursiver Code. Wo ist denn dein Problem? Du willst eine rekursive Methode - du hast eine rekursive Methode.

Bis auf den unterschied, dass du hier für jede Iteration einen Instruction Pointer auf einem Stack legst. Während die iterative Methode damit westnlich Speicherfreundlicher ist.

Das Ergebniss ist das gleiche.
 
faetzminator

faetzminator

Gesperrter Benutzer
Bis auf den unterschied, dass du hier für jede Iteration einen Instruction Pointer auf einem Stack legst. Während die iterative Methode damit westnlich Speicherfreundlicher ist.

Das Ergebniss ist das gleiche.

Ähm ja danke, ich weiss das... die Frage ist, ob es für einen Anfänger relevant ist. Man sollte lediglich wissen, dass es bei rekursiven Aufrufen mal wumms machen kann ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Rekursive Methode zur Berechnung der Potenz q hoch p Java Basics - Anfänger-Themen 17
veryck Methoden Rekursive Methoden mit Rückgabeparameter Java Basics - Anfänger-Themen 9
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
M Rekursive Prüfung ob ein Array sortiert ist... Java Basics - Anfänger-Themen 4
J Rekursive swapArray Methode Java Basics - Anfänger-Themen 69
D Rekursive Methode Java Basics - Anfänger-Themen 8
R Methoden rekursive Methoden Java Basics - Anfänger-Themen 6
O Quersumme rekursive Methode Java Basics - Anfänger-Themen 3
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
M Rekursive Methode Programmieren Java Basics - Anfänger-Themen 3
J rekursive Methode Java Basics - Anfänger-Themen 26
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
J Rekursive Methode - Ziffern einer Zahl ausgeben Java Basics - Anfänger-Themen 2
M Rekursive Dateiliste erstellen mit Dateiendung(en) ?? Java Basics - Anfänger-Themen 4
S Rekursive Methode Java Basics - Anfänger-Themen 8
O Rekursive Methode Java Basics - Anfänger-Themen 4
V Methoden Rekursive Methode mit String als Rückgabe Java Basics - Anfänger-Themen 7
K Rekursive Methode Java Basics - Anfänger-Themen 1
K Rekursive Methode für Fakultät mit BigInteger Java Basics - Anfänger-Themen 10
L Rekursive Methode a * b berechnen Java Basics - Anfänger-Themen 2
J Methoden Rekursive Return Methode Java Basics - Anfänger-Themen 2
G Harmonische Rekursive Folge Java Basics - Anfänger-Themen 3
T Stack Overflow - Rekursive Fibonacci Java Basics - Anfänger-Themen 10
B Datentypen Suchbaum - Rekursive Ausgabe Java Basics - Anfänger-Themen 1
P Methoden Rekursive Methode für Potenzen Java Basics - Anfänger-Themen 2
M Methoden Binäre Suche als rekursive Variante Java Basics - Anfänger-Themen 5
B Rekursive Algorithmus schreiben Java Basics - Anfänger-Themen 8
S Eine rekursive Lösung Java Basics - Anfänger-Themen 4
S Int zu Hexadezimal - Rekursive Methode Java Basics - Anfänger-Themen 2
M Rekursive Suche in einem Feld Java Basics - Anfänger-Themen 11
N Rekursive Addition mit Scanner Java Basics - Anfänger-Themen 12
shiroX OOP Rekursive und Iterative Definition Java Basics - Anfänger-Themen 2
B Methoden Rekursive Methoden Java Basics - Anfänger-Themen 2
T Iterative Pi Berechnung in Rekursive Java Basics - Anfänger-Themen 2
C rekursive methode Java Basics - Anfänger-Themen 2
D Methoden Rekursive Methoden Java Basics - Anfänger-Themen 13
R rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
M Stürzen alle Rekursive Methoden irgendwann ab? Java Basics - Anfänger-Themen 11
D Primzahlen und Rekursive Liste Java Basics - Anfänger-Themen 29
R Rekursive Methode, Files finden Java Basics - Anfänger-Themen 2
S rekursive folge verbessern Java Basics - Anfänger-Themen 2
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
S Methoden rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
E Rekursive Methode Java Basics - Anfänger-Themen 3
N Methoden Rekursive Fibonaccizahlen mit Array Java Basics - Anfänger-Themen 2
R Rekursive Ausgabe eines Binärbaums Java Basics - Anfänger-Themen 4
A Rekursive Methode in Iterative umwandeln Java Basics - Anfänger-Themen 6
S Labyrith Rekursive Wegsuche Java Basics - Anfänger-Themen 4
C Rekursive Methode - Ziffern in Zahl Java Basics - Anfänger-Themen 33
U Dezimal zu Hexadezimal rekursive Funktion Java Basics - Anfänger-Themen 8
M rekursive Funktion zur Berechnung der Spiegelzahl Java Basics - Anfänger-Themen 7
L iterative und rekursive Folge Java Basics - Anfänger-Themen 20
G Rekursive Methode Java Basics - Anfänger-Themen 3
A rekursive Listen in Java? Java Basics - Anfänger-Themen 5
B OOP Einfach verkettete Liste - rekursive Methoden Java Basics - Anfänger-Themen 1
E Rekursive Methode mit Zufallsarray Java Basics - Anfänger-Themen 6
E Rekursive Methode Java Basics - Anfänger-Themen 18
U Rekursive lösung von pascal dreieck Java Basics - Anfänger-Themen 11
M Rekursive Methode - wo ist der Fehler? Java Basics - Anfänger-Themen 4
J rekursive methode Java Basics - Anfänger-Themen 6
H ScrollBar inaktiv / Rekursive Methode Java Basics - Anfänger-Themen 4
J Rekursive Methode Java Basics - Anfänger-Themen 11
G Rekursive Methode Java Basics - Anfänger-Themen 5
N Rekursive Berechnung der Höhe eines binären Baumes Java Basics - Anfänger-Themen 4
K Rekursive Methoden Java Basics - Anfänger-Themen 15
K Rekursive Funktion (Verständnissfrage) Java Basics - Anfänger-Themen 5
S Rekursive Bruch potenzierung Java Basics - Anfänger-Themen 2
D rekursive Summenberechnung Java Basics - Anfänger-Themen 8
J Rekursive Methode: Fakultaet berechnen Java Basics - Anfänger-Themen 5
E Rekursive definierten Folge Java Basics - Anfänger-Themen 10
A HILFE! Rekursive Funktion Java Basics - Anfänger-Themen 20
kulturfenster rekursive Binaere Suche Java Basics - Anfänger-Themen 12
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
G Rekursive Berechnung von n über k schlägt fehl Java Basics - Anfänger-Themen 5
B Rekursive & schreiben im ArrayList Java Basics - Anfänger-Themen 2
J Rekursive Fkt. Java Basics - Anfänger-Themen 2
A Rekursive Dateisuche Java Basics - Anfänger-Themen 12
K rekursive Funktion mit mehreren Parametern Java Basics - Anfänger-Themen 5
G rekursive Methode Java Basics - Anfänger-Themen 3
N rekursive Beispiele Java Basics - Anfänger-Themen 3
G rekursive u iterative Methode Java Basics - Anfänger-Themen 8
G Rekursive Methode Java Basics - Anfänger-Themen 7
ven000m Rekursive Funktionen - Frage Java Basics - Anfänger-Themen 16
D rekursive ausgabe einer zahl Java Basics - Anfänger-Themen 14
S Rekursive Funktionen in imperative Funktionen umwandeln Java Basics - Anfänger-Themen 2
M Rekursive Binärsuche Java Basics - Anfänger-Themen 6
S rekursive methoden Java Basics - Anfänger-Themen 5
F Potenz ausrechnen Hilfe! Java Basics - Anfänger-Themen 7
E Erste Schritte Potenz Negativ (rekursiv) Java Basics - Anfänger-Themen 2
A DecimalFormat und wissenschatliche (Potenz-)Schreibweise Java Basics - Anfänger-Themen 6
A mantisse var * 10 hoch potenz var Java Basics - Anfänger-Themen 2
hello_autumn Potenz selber berechnen, Rekursiv. Java Basics - Anfänger-Themen 6
C Gleichung mit Potenz mit einer Unbekannten lösen Java Basics - Anfänger-Themen 5
R 2er Potenz mit vorgegebenem Schema Java Basics - Anfänger-Themen 5
W Potenz Java Basics - Anfänger-Themen 6
M Potenz berechnen Java Basics - Anfänger-Themen 3
P Usereingabe und Potenz berechnen Java Basics - Anfänger-Themen 16
2 2er Potenz berechnen Java Basics - Anfänger-Themen 17
K Potenz mit Summer der ungeraden Zahlen Java Basics - Anfänger-Themen 14
E Potenz mit Modulo (über for-Schleife) berechnen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Anzeige


Oben