Methoden Gaußsche Summeformel

banthrass

Mitglied
Hallo zusammen,

ich soll für eine Aufgabe die Gaußsche Summenformel in Java darstellen. Aber irgendwie habe ich da glaube ich einen Denkfehler. Kann da mal jemand drüber schauen?

Hier mal mein Code:
Java:
int kleinerGauss(int startWert) 
	{  
		int i = 1;
		while(i <= startWert)
		{
			(startWert*(startWert+1))/2;
			i++;
		}
	}

Die Gaußsche Formel lautet doch (n*(n+1))/2 oder?! wenn ich doch n durch startWert ersetze sollte es stimmen, tut es aber nicht.

Danke schonmal :)
 

lajao

Mitglied
was gibste du zurück? Es fehlt das return-Statement.

was du hier machst:

du nimmst i = 1.

In der while-Schleife wird nun der Ausdruck (startWert*(startWert+1))/2; so lange berechnet, bis i>startWert.

Allerdings wird dieser Wert nie abgeholt. Die While-Schleife ist zudem unnötig, da du einfach "startWert" mal (also wenn n der startWert ist, n-mal) das selbe machst.

(startWert*(startWert+1))/2;
Dieser Teil ist vollkommen ausreichend. Den musst du einfach mit return zurückgeben.
 

Gravian

Mitglied
Wenn du das Ergebniss der Gaußschen Summenformel bestimmen willst brauchst du mit der Formel n(n+1)/2 keine Schleife.

Für 2 wäre das Ergebniss also einfach 2*(2+1) / 2 = 3. Das müsstest du dann nur noch zurückgeben.

Im Übrigen verwertest du in deinem Programm den Ausdruck n(n+1)/2 gar nicht.

Viele Grüße,
Gravian.
 
Zuletzt bearbeitet:

banthrass

Mitglied
Hmpf manchmal könnte ich mir selbst eine geben :).

Hattest vollkommen recht :)

Hier die Lösung für die Gaußsche Summenformel:
Java:
	int kleinerGauss(int startWert) 
	{  
	
		int summe = (startWert*(startWert+1))/2;
		return summe;

	}
 

Ähnliche Java Themen

Neue Themen


Oben