Java :: Aufgabe #242 :: Lösung #4
5 Lösungen
#242
Summe alle Teiler einer positven Ganzzahl
Anfänger - Java
von hollst
- 18.06.2019 um 20:49 Uhr
Man schreibe eine Funktion SIGMA(n) mit n > 0 und ganzzahlig, wobei der Funktionswert sich
aus der Summe aller ganzzahligen, positven Teiler von n ergibt.
Beispiele (Zahl; Teiler; Funktionswert);
1; 1; 1
2; 1, 2; 3
4; 1, 2, 4; 7
5; 1, 5; 6
...
12; 1, 2, 3, 4, 6, 12; 28
...
100; 1, 2, 4, 5, 10, 20, 25, 50, 100; 217
Für 0 < n <= 200 sollte sich der beigefügte Pinplot ergeben.
Viel Spaß!
aus der Summe aller ganzzahligen, positven Teiler von n ergibt.
Beispiele (Zahl; Teiler; Funktionswert);
1; 1; 1
2; 1, 2; 3
4; 1, 2, 4; 7
5; 1, 5; 6
...
12; 1, 2, 3, 4, 6, 12; 28
...
100; 1, 2, 4, 5, 10, 20, 25, 50, 100; 217
Für 0 < n <= 200 sollte sich der beigefügte Pinplot ergeben.
Viel Spaß!
#4
von fsnik745 (20 Punkte)
- 30.09.2019 um 19:46 Uhr
public class TeilerSumme {
public static int teilerSumme (int n) throws IllegalArgumentException{
if (n<=0) {
throw new IllegalArgumentException("Der Methodenparameter muss > 0 sein.");
}
int sum = 0;
for (int i=n; i>=1; i--) {
if (isTeiler(n, i)) {
sum += i;
}
}
return sum;
}
private static boolean isTeiler (int n, int teiler) {
return ((double) n / (double) teiler) % 1 == 0;
}
public static void main (String [] args) {
int [] test = new int[201];
for (int i=0; i<test.length; i++) {
try {
test[i] = teilerSumme(i);
} catch (IllegalArgumentException e) {
test[i] = 0;
}
System.out.println (i + ": " + test[i]);
}
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
