Hiho,
bin seid einigen Stunden mit einem Problem beschäftigt und zwar bekomme ich es nicht
hin auf korrekte Weise alle Teiler einer perfekten Zahl auszugeben bzw. diese auch vorher
erst zu testen, ob sie denn perfekt ist.
Ein Zahl ist dann perfekt, wenn die Summe all ihrer Teiler die kleiner als
sie sind, die Zahl selber ergibt.
Bsp: 6 ist perfekt weil: 3+2+1 = 6
bisheriger Code:
bin seid einigen Stunden mit einem Problem beschäftigt und zwar bekomme ich es nicht
hin auf korrekte Weise alle Teiler einer perfekten Zahl auszugeben bzw. diese auch vorher
erst zu testen, ob sie denn perfekt ist.
Ein Zahl ist dann perfekt, wenn die Summe all ihrer Teiler die kleiner als
sie sind, die Zahl selber ergibt.
Bsp: 6 ist perfekt weil: 3+2+1 = 6
bisheriger Code:
Java:
import java.util.Scanner;
public class Aufgabe4
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int zahl;
int summe = 0;
int teiler = 0;
System.out.print("Bitte eine Ganzzahl eingeben: ");
zahl = input.nextInt();
for(int i = zahl; i > 1; i--)
{
for(teiler = 2; (teiler*teiler) < zahl; teiler++)
{
if(zahl % teiler == 0)
{
summe = summe + (zahl/teiler);
}
if(summe == zahl)
{
System.out.println(" " +i+ " ist eine perfekte Zahl!");
summe = 1;
}
}
}
}
}