Hi Sry falls dies Mathe ist aber ich habe keine Info forum auf die schnelle gefunden und da Mathematiker im Studium auch Grundlagen der Programierung haben dachte ich mir ich stell meine Frage mal hier.
Die Aufgabe ist diese: Schreiben Sie zuerst eine rekursive Methode int teilerSumme(int zahl,int moeglicherTeiler), die die Summe aller Teiler der zahl berechnet.
In der Methode teilerSumme wird dabei folgendermaßen vorgegangen:
falls moeglicherTeiler == 0, ist die Rückgabe 0
falls moeglicherTeiler die zahl teilt, wird moeglicherTeiler zur Rückgabe der rekursiven Methode addiert, die den nächstkleineren möglichen Teiler berechnet
falls moeglicherTeiler die zahl nicht teilt, wird nur ein rekursiver Aufruf mit dem nächstkleineren möglichen Teiler durchgeführt
Legen Sie die Methode teilerSumme so an, dass sie mit dem größten möglichen Teiler beginnt und in dem Rekursionsschritt den jeweils nächstkleineren möglichen Teiler prüft.
Bitte beachten Sie, dass moeglicherTeiler der größte mögliche Teiler ist, der getestet werden soll. Die Methode teilerSumme gibt aber die Summe aller Teiler zurück
Dies ist nun mein Versuch, jedoch bekomme ich immer missing return Statement.
public static void main (String [] args)
{
int zahl = Integer.parseInt(args[0]);
int moeglicherTeiler = Integer.parseInt(args[1]);
System.out.println(teilerSummer(zahl, moeglicherTeiler));
}
public static int teilerSummer(int zahl, int moeglicherTeiler){
if (moeglicherTeiler==0)
{
return 0;
}
else
if (zahl%moeglicherTeiler==0)
{
teilerSummer(zahl,moeglicherTeiler-1);
return moeglicherTeiler;
}
else
{
teilerSummer(zahl,moeglicherTeiler-1);
}
}
}