Rekursive Summenberechnung


#1
Wäre das hier eine Rekursion? Habe es mal in Algorithmenschreibweise notiert.


integer berechneSumme(integer a){
integer summe;
summe = 1 + a;
a--;
berechneSumme();​
return summe;
}

Berechnet werden soll die Summe einer eingegeben Zahl bis 1, die an diese Methode übergeben wird.
 
Zuletzt bearbeitet:

timestamp

Mitglied Käsekuchen
#2
Nein, das funktioniert so nicht.
Java:
// integer existiert außerdem nicht in Java, entweder Integer oder int
integer berechneSumme(integer a){
  integer summe;
  summe = 1 + a; // Summe wird mit jedem neuen Aufruf überschrieben
  a--;
  berechneSumme(); // berechneSumme erwartet einen Parameter
}
So geht's:
Java:
public int sum(int a){
  if( a <= 0 ) // Wir zählen nur positive Zahlen zusammen
    return 0;
  return sum(a, 0);
}
private int sum(int a, int sum){ // eigentliche rekursive Methode
  if( a <= 0 )
    return sum;
  sum += a; // a zur Summe zählen
  return sum(a-1, sum); // rekursiver Aufruf
}
 

Neue Beiträge