/* docschroeder
Dieses Programm erklaert die Verwendung von Zaehlschleifen
mit der Syntax for (Deklaration und Startwert;Abbruchbedingung;Aktualisierung) {Anweisungen]
anhand mehrerer Schleifen
*/


public class ZaehlschleifeBsp {

	public static void main(String [] args) {

		for (int i=0;i<=10;i++) {	//i=0, i=1, ... i=10
		System.out.println("i= " +i);
		}

	

	System.out.println();


		for (int j=100;j<1000;j+=50) {	//j=100, j=150, ... ,j=950
		System.out.println("j= " + j);
		}

	System.out.println();


	int summe=0;
		for (int k=20;k>0;k--) {	// k=20, k=19, ... ,k=1
		summe = summe + k;		//0+20+19+...+1
		}
	System.out.println("Summe bis 20 =  " + summe);


	System.out.println();


// geschachtelte Schleifen zur Berechnung der Summe ueber Fakultaeten und Zweierpotenzen

	int fakultaet=1;			//Startwert
	int summeFakultaet=1;			//Startwert beinhaltet 0!=1

		for (int l=1;l<=5;l++) {
			for (int m=1;m<=l;m++) {
			fakultaet = fakultaet*m;
			}			//diese Schleife berechnet l!
		
		summeFakultaet = summeFakultaet + fakultaet;
		fakultaet=1;			//wieder auf Startwert
		}
		System.out.println("Summe der Fakultaeten bis  5:  " + summeFakultaet);

	System.out.println();



	int zweierPotenz=1;
	int summeZweierPotenz=1;		//Startwert beinhaltet 2hoch0

		for (int n=1;n<=10;n++) {
			for (int o=1;o<=n;o++) {
			zweierPotenz=zweierPotenz*2;
			}
		summeZweierPotenz=summeZweierPotenz+zweierPotenz;
		zweierPotenz=1;
		}

	System.out.println("Summe ueber Zweierpotenzen bis 10 = " + summeZweierPotenz);

	System.out.println();

}
}
				