int alle zahlen unter x?
moin,
ich würde gerne ein programm schreiben wo bei einer eingeben zahl alle zahlen drunter drauf addiert werden zum beispiel bei 4 wär es 0+1+2+3+4. Dazu würde ich folgendes machen: ich würde ein int mit dem startwert 4 machen und ein int unterwert = mit allen zahlen unter dem startwert also in diesem fall 1+2+3 dann am ende (startwert + unterwert) würde das so klappen? wenn ja wie könnte ich den int unterwert schreiben? sodass alles zahlen unter dem startwert berücksichtigt werden (java)
3 Antworten
![](https://images.gutefrage.net/media/user/Schachpapa/1456653634658_nmmslarge__116_32_432_432_d36a6a6d62721271685e85017f4dbcb0.jpg?v=1456653637000)
Wenn du nicht die empfohlene Formel benutzen willst oder darfst, entscheidest du dich, ob du 1+2+3+4 oder 4+3+2+1 rechnen willst, also rauf oder runter zählst. Entsprechend ist dann deine Fortsetzungsbedingung. Außerdem brauchst du noch eine Variable, die die Summe aufnimmt, die ist am Anfang 0
int summe = 0;
int endwert = 7;
int summand = 0;
while (summand <= endwert) {
summe = summe + summand;
summand = summand + 1;
}
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Schau dir Mal an wie For-schleifen funktionieren. Dort einfach als start wert 0, als Bedingung i<=4 (bzw. Die eingegebene Zahl) und dann in der Schleife zu einem int Ergebnis immer i dazuaddieren
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Das geht auch. Einfach die for-schleife als while-Schleife schreiben. Den Index schon vorher definieren. Als Bedingung der while-schleife i<=4 und in der while Schleife am Ende immer 1 zu i dazuaddieren
![](https://images.gutefrage.net/media/user/Rubezahl2000/1444749506_nmmslarge.jpg?v=1444749506000)
Verwende doch einfach die Gaußsche Summenformel
n(n+1)/2Diese Formel berechnet für alle natürlichen Zahlen n die Summe von 1 bis n
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/Rubezahl2000/1444749506_nmmslarge.jpg?v=1444749506000)
Keine Ahnung.
Mit Java kenne ich mich nicht aus, aber mit Mathematik ;-)
danke leider muss das ganze in der while schleife sein :/