# Gaußsche Formel mit FOR-Schleife



## OnDemand (2. Dez 2012)

Hallo,

ich habe die Übungsaufgabe eine Gaußsche Berechnung durchzuführen, dabei soll eine FOR Schleife genutzt werden.

Mein Code funktioniert, berechnet jedoch den "Bis-Wert" falsch:


```
public class Gaus extends Object {
public static void main (String [] args) {
   short n = 1;
   int ergebnis = 0;
   
   for (n=n;n<=15;n++)
   {
      ergebnis = (n*(n+1))/2;
   }
   System.out.println("Die Summe der Zahlen von 1 bis "+n+" ist "+ergebnis);
   }
   }
```

Ausgabe:

```
Die Summe der Zahlen von 1 bis 16 ist 120
Drücken Sie eine beliebige Taste . . .
```

Warum macht der da bis 16 ich will doch nur bis 15?!

Ich fummel schon seit 2 Stunden hier rum :-(


----------



## Fab1 (2. Dez 2012)

Wenn n 15 ist, dann ist n zwar nicht < aber immer = 15 und somit geht er in die Schleife rein, führt diese aus erhöht die Variable auf 16, dann ist die Bedingung natürlich falsch und die Variable mit dem Wert 16 wird ausgegeben.


----------



## OnDemand (2. Dez 2012)

Hi,

danke für Deine Antwort,

wenn ich 
	
	
	
	





```
for (n=n;n<=14;n++)
```
 schreibe, klappt es.

Warum kann ich nicht 
	
	
	
	





```
for (n=n;n=15;n++)
```
 schreiben, bzw. wie kann ich es schreiben, dass er nur bis 15 zählt und rechnet?

Steh grad tierisch aufm Schlauch^^


----------



## pappawinni (2. Dez 2012)

Du stehst vermutlich doppelt auf dem Schlauch.
Wenn ich es richtig verstehe geht es darum alle Zahlen von 1 bis n zu addieren.
Das sollst du mit einer Schleife machen.
Gauss hatte das einfach mit der Formel n*(n+1)/2 gelöst.


```
int n = 16;
	        int ergebnis = 0;
	        
	        for (int i=1;i<=n;i++)
	        {
	           ergebnis += i;
	        }
	        System.out.println("Die Summe der Zahlen von 1 bis "+n+" ist zu Fuss    "+ergebnis);
	        System.out.println("Die Summe der Zahlen von 1 bis "+n+" ist nach Gauss "+n*(n+1)/2);
```

[EDIT]
	
	
	
	





```
for (n=n;n==15;n++)
```
hätte wohl "funktioniert" n = 15 ist eine Zuweisung kein Vergleich, aber n == 15 tut es [/EDIT]


----------



## OnDemand (2. Dez 2012)

Oh weia, das war dreifach auf dem Schlauch  ICh danke Dir! Ich glaub ich hätte noch Jahre gebraucht, die Aufgabe war doof erklärt..dennoch vielen Dank!!!:toll:


----------

