Guten Tag 
Bin Mathe-Student und übe grad für die Klausur im Info-Modul.
Ich habe bei dieser Aufgabe ein kleines Problem:
"Die echte Teilersumme einer Zahl n ist die Summe der Teiler von n ohne die Zahl n selbst. Beispiele:
6 : 1 + 2 + 3 = 6
9 : 1 + 3 = 4
13 : 1 = 1
Schreiben Sie eine Schleife, um für alle Zahlen von 1 bis 1000 jeweils die echte Teilersumme zu berechnen und auszugeben."
Nun wollte ich das zuerst langsam angehen und für einzelne Zahlen die echte Teilersumme berrechnen, was nicht schwer ist. So klappt das Ganze dann gut:
Dann hab ich versucht die eigentliche Aufgabe zu bearbeiten mit der Schleife, aber irgendwie klappt das Ganze nicht so.
z.B.:
Habe mit den Klammern rumgespielt und vieles ausprobiert.
Aufjedenfall liegt das Problem beim Zähler, der ja nach dem Durchgang einer Zahl sich nicht wieder auf 0 setzt.
Wie kann ich das auftreten lassen? Und sind da noch andere Komplikationen?
Ich bedanke mich für jede Hilfe ;D
Mit freundlichen Grüßen,
jonasvi
Bin Mathe-Student und übe grad für die Klausur im Info-Modul.
Ich habe bei dieser Aufgabe ein kleines Problem:
"Die echte Teilersumme einer Zahl n ist die Summe der Teiler von n ohne die Zahl n selbst. Beispiele:
6 : 1 + 2 + 3 = 6
9 : 1 + 3 = 4
13 : 1 = 1
Schreiben Sie eine Schleife, um für alle Zahlen von 1 bis 1000 jeweils die echte Teilersumme zu berechnen und auszugeben."
Nun wollte ich das zuerst langsam angehen und für einzelne Zahlen die echte Teilersumme berrechnen, was nicht schwer ist. So klappt das Ganze dann gut:
Code:
public class EchteTeilerzummeEinzeln {
public static void main(String[] args) {
int x = 25;
int teiler;
int zähler = 0;
for (teiler = 1; teiler < x; teiler++) {
if (x % teiler == 0) {
zähler += teiler;
}
}
System.out.println(zähler);
}
}
z.B.:
Code:
public class Spielen {
public static void main(String[] args) {
int zahlen;
int teiler;
int zähler = 0;
for (zahlen = 1; zahlen < 1000; zahlen++) {
for (teiler = 1; teiler < zahlen; teiler++) {
if (zahlen % teiler == 0) {
zähler += teiler;
{
System.out.println(zähler);
}
}
}
}
}
}
Aufjedenfall liegt das Problem beim Zähler, der ja nach dem Durchgang einer Zahl sich nicht wieder auf 0 setzt.
Wie kann ich das auftreten lassen? Und sind da noch andere Komplikationen?
Ich bedanke mich für jede Hilfe ;D
Mit freundlichen Grüßen,
jonasvi