Normal
Das Problem ist, dass der Aufruf von [icode]calculate(dividend-divisor, divisor)[/icode] innerhalb von [icode]result = calculate(dividend-divisor, divisor) + 1[/icode] ja nicht die Gesamtzahl der Teilungen für diesen rekursiven Abstieg zurückliefert, sondern ja auch alle Summen der einzelnen Rekursionsaufstiege mit [icode]return dividend - result*divisor;[/icode].Eine bessere Lösung wäre, nicht die Anzahl der Teilungen zu zählen, sondern solange [icode]dividend-divisor[/icode] rekursiv zu berechnen, bis [icode]dividend < divisor[/icode], in welchem Fall [icode]dividend[/icode] dann das Ergebnis ist.
Das Problem ist, dass der Aufruf von [icode]calculate(dividend-divisor, divisor)[/icode] innerhalb von [icode]result = calculate(dividend-divisor, divisor) + 1[/icode] ja nicht die Gesamtzahl der Teilungen für diesen rekursiven Abstieg zurückliefert, sondern ja auch alle Summen der einzelnen Rekursionsaufstiege mit [icode]return dividend - result*divisor;[/icode].
Eine bessere Lösung wäre, nicht die Anzahl der Teilungen zu zählen, sondern solange [icode]dividend-divisor[/icode] rekursiv zu berechnen, bis [icode]dividend < divisor[/icode], in welchem Fall [icode]dividend[/icode] dann das Ergebnis ist.