Brauche Hilfe bei Schleifeneingabe bei Eclipse?
Hallo,
wir haben heute eine Aufgabe bekommen. Vielleicht könnt ihr mir weiter helfen.
Programmiere Schleifen, die die Zahlenfolge ausgeben.
a) 3,4,6,10,18,34,66,138
b) 1,2,4,7,11,16,22,29
Ich hätte den Anfang so gemacht für a)
for (int a=3; a<139; a++) {system.out.println ( und hier weiß ich nicht weiter)
Oder hab ich schon am Anfang ein Denkfehler?
LG BlibBlabBlub
3 Antworten
Bei deiner Aufgabe verdoppelt sich die Differenz mit jeder Zahl.
4 - 3 = 1
6 - 4 = 2
10 - 6 = 4
...
A:
public class Main {
public static void main(String[] args) {
int zahl = 3; // Startzahl
int differenz = 1; // Anfangsdifferenz
while (zahl <= 138) {
System.out.println(zahl);
zahl += differenz; // Zahl erhöhen um die Differenz
differenz *= 2; // Differenz verdoppeln
}
}
}
B:
public class ZahlenfolgeB {
public static void main(String[] args) {
int zahl = 1; // Startzahl
int differenz = 1; // Anfangsdifferenz
while (zahl <= 29) {
System.out.println(zahl);
zahl += differenz; // Zahl erhöhen um die Differenz
differenz += 1; // Differenz erhöhen um 1
}
}
}
Ansonsten noch ein Tipp weil du das ganze wahrscheinlich schnell brauchst. Frag bei solchen Aufgaben einfach eine KI. Die antwortet dir schneller, genauer und du kannst mehr fragen stellen. Bei so kleinen Aufgaben macht die auch zu 100% keine Fehler. Am besten ist die KI "Mistral" (dann auf LeChat)
Du brauchst einfach einen zweiten Zähler.
Im ersten Fall multipliziert sich der Zähler nach dem Rechnen mit 2.
3 + 1
4 + 2
6 + 4
10 + 8
Usw.
Beim zweiten wird der Addierer einfach immer um 1 erhöht.
Einfach vor der Schleife als Variable definieren.
n = 1;
a = 3;
while (a <= 138)
{
Output a;
a += n;
n *= 2;
}
Bedenke bitte, dass das natürlich Pseudocode ist. Am Handy geht das Tippen nicht so gut. ;-)
Schau dir mal an, was in jedem Schleifendurchlauf zur vorherigen Zahl dazu addiert wird.
Da wirst du in a) mit a++ nicht auskommen, da hier immer nur um den Wert 1 inkrementiert wird.
Vom Startwert ausgehend hast du erst +1, dann +2, +4, +8 , +16, +32, +64....
diese geometrische Folge wird durch 2^(n-1) dargestellt.
b) hingegen ist deutlich simpler aufgebaut
Das war mir aufgefallen, nur war ich total überfordert wie ich das sonst aufschreiben soll. Dachte mir, so steht erstmal was da🙈😂 also wie nehme ich statt dem n bei dir das a bei mir? Oder hast du jetzt das n als zweite variable genommen?
Wie die Zahlen steigen war mir aufgefallen. Ich weiß nur einfach nicht wie ich das so formulieren soll. Bzw dann richtig eingebe
Und wie geb ich das da ein? Sorry wenn ich so doof Frage.