Klappe die Zweite für Heute

Status
Nicht offen für weitere Antworten.
Hi!

Die Ausgabe dieses Programmes soll: Sum = 55 heißen.

Hier der Quellcode:
Code:
public class Test {
    public static void main(String[] args) {
    int sum = 0;

    for (int current = 1; current <= 10; current++) {
        sum += current;
    }
    System.out.println("Sum = " + sum);
    }
}

Und nun die Frage:

WIE UM HIMMELS WILLEN KOMM ICH HIER AUF DIESE 55?!?!?!?!? ???:L
 
1. code tags einfügen
2. der junge gauss (der hätte dir das schon in der 1. oder 2. klasse beweisen können)

hier mal seine methode (beim war die aufgabe alle zahlen von 1-100 zu addieren, dass der lehrer mit einer anderen klasse untericht machen konnte und klein gauss war nach kurzer zeit fertig)
1 + 10 =11
2 + 9 =11
3 + 8 =11
4 + 7 =11
5 + 6 =11
6 + 7 =11
7 + 4 =11
8 + 3 =11
9 + 2 =11
10+ 1 =11

so er hat also alle zahlen gegeneinander aufgeschrieben und dann die ergebniss (10 mal 11, bei ihm 100 mal 101) multipliziert:
11*10=110
nun hat er aber jede zahl 2 mal geschrieben daher:
110/2=55
in kurz form lautet dies also allgemein
(kleinsteZahl + grössteZahl) * (grösste - kleinsteZahl +1) /2
die +1 da du 1 ja die erste zahl auch mitzählt
und dein rechner macht das halt schrittweise durchs addieren:
1+2+3+4+5+6+7+8+9+10=55
sum += steht (wie im faq wunderbar beschrieben) für eine addierung und zuweisung. erst wird addiert, dann zugewiesen, das spart eigentlich nur schreibarbeit.

bei fragen nur her damit und das nächste mal erstmal ins faq gucken. das mit gauss ist da zwar nicht drin, aber das weis auch nicht jeder, schade eigentlich.
 
😀 riiiieeeßengroßes DANKESCHÖN! 😉 bist ein schatz!

schönen Abend noch! Ich hoffe, das war das letzte nervige posting von mir heut 😉

lg
schnecke!

P.S: FAQ: Danke für den Tipp... !!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben