Java :: Aufgabe #302
1 Lösung
Teilersumme natürlicher Zahlen
Anfänger - Java
von JKooP
- 04.10.2020 um 11:49 Uhr
Schreibe eine Methode/Funktion, mit der es möglich ist zu prüfen, ob es sich bei einer natürlichen Zahl um eine defiziente,
vollkommende oder abundante Zahl handelt.
Betrachtet wird die Summe aller Teiler ohne die Zahl selbst.
Beispiel Zahl 80:
1 + 2 + 4 + 5 + 8 + 10 + 20 + 40 = 106 --> abundant, da
Summe kleiner als Zahl --> defizient
Summe gleich Zahl --> vollkommen
Summe größer als Zahl --> abundant
Viel Spaß
vollkommende oder abundante Zahl handelt.
Betrachtet wird die Summe aller Teiler ohne die Zahl selbst.
Beispiel Zahl 80:
1 + 2 + 4 + 5 + 8 + 10 + 20 + 40 = 106 --> abundant, da
Summe kleiner als Zahl --> defizient
Summe gleich Zahl --> vollkommen
Summe größer als Zahl --> abundant
Viel Spaß
Lösungen:
Java-Code
package a302; import java.awt.List; import java.util.Scanner; public class main { public static void main(String[] args) { Scanner input = new Scanner(System.in); // input scanner System.out.println("Bitte geben sie die zu überprüfende Nummer ein: "); int number = input.nextInt(); int sum = addListElements(getTeiler(number)); System.out.println("sum: " + sum); if(sum < number) { System.out.println("defizient"); } else if(sum == number) { System.out.println("vollkomme"); } else { System.out.println("abundant"); } input.close(); } private static List getTeiler(int number) { List results = new List(); for(int i = 1; i < number; i++) { if(number%i == 0) results.add(Integer.toString(i)); } return results; } public static int addListElements(List list) { int sum = 0; for(int i = 0; i < list.getItemCount(); i++) { sum += Integer.parseInt(list.getItem(i)); } return sum; } }