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