Meine Versuche die folgende harmonische Reihe rekursiv zu berechnen scheitern an meinem Algorithmus:
Harmonische Reihe: Summe von i bis n über alle (1/i)
also z.b. für n 4: (1/1)+(1/2)+(1/3)+(1/4)
Jedoch bringe ich es nicht hin dass dieser Wert rekursiv berechnet wird.
Beim Start wird für n ein wert von 4 übergeben. Ergebnis hier: 1,8333. Das wäre jedoch das richtige Ergebnis für n=3.
Wo liegt da mein Fehler?
Harmonische Reihe: Summe von i bis n über alle (1/i)
also z.b. für n 4: (1/1)+(1/2)+(1/3)+(1/4)
Jedoch bringe ich es nicht hin dass dieser Wert rekursiv berechnet wird.
Code:
public class Harmonie {
public static void main(String[] argv){
System.out.println(berechnen(0,4,0));
}
public static float berechnen(float i,float n,float sum){
i++;
if(n>i){
sum = (1/i) + berechnen(i,n,sum);
}
return sum;
}
}
Beim Start wird für n ein wert von 4 übergeben. Ergebnis hier: 1,8333. Das wäre jedoch das richtige Ergebnis für n=3.
Wo liegt da mein Fehler?