Kann mir jemand sagen, was bei folgender for-Schleife passiert?

_Tascha_

Mitglied
Hallo Leute. Ich verstehe nicht, wie man bei folgendem Quellcode darauf kommen kann, dass die Console 5050 ausgibt. Kann mir das jemand erklären?

Java:
public class Raetselaufgabe {
  
   public static void main(String[] args) {
       int m = 100;
       int s = 0;
      
       for (int n = 1; n <= m/2; n++) {
           int p = m+1-n;
           s = s + n + p;
          
       }
      
       System.out.println(s);
      
   }
  
}
 
Zuletzt bearbeitet von einem Moderator:
stelle den Code so um, dass du die Definition von p in die Rechnung von s einsetzt. Dann steht da:
s = s +n + p = s+n+m+1-n = s+m+1
d.h. das was auf s aufaddiert wird ist kontant für jeden Schleifendurchlauf (hängt nicht von n ab.)
d.h. es wird jedesmal m+1 = 101 auf s aufaddiert. Die Schleife läuft 50 mal (von n=1 bis n=50)
d.h. in s steht am Ende 101*50=5050
 

Zurück
Oben