
public class ControlStructures {
    private static String sequence1(int x) {
        String result = Integer.toString(x);
        for (int i = 0; i < 34; i++) {
            if (x % 12 == 0) {
                x = x / 3 + 1;
            } else {
                x = x * 2 + 4;
            }
            result += ";" + Integer.toString(x);
        }
        return result;
    }
    private static String sequence2(int x) {
        String result = Integer.toString(x);
        for (int n = 1; n < 20; n++) {
            x = 7 - 3 * n;
            if (n % 2 == 0) {
                x = -x;
            }
            result += ";" + Integer.toString(x);
        }
        return result;
    }
    
    private static int sumCalculation(int x1, int x2) {
        // Lösung durch Gausssche Summenformel, Schleife hier überflüssig. 
        return ((x2 - x1 + 1) * (x2 + x1)) / 2;
    }

    private static double leibnizPi(int n) {
        double result = 0;
        double sign = 1;
        for (int i = 0; i <= n; i++) {
            result += sign / (double) (2 *  i + 1);
            sign = -sign;
        }
        return result;
    }
    
    public static void main(String[] args) {
        System.out.println(sequence1(0));
        System.out.println(sequence2(4));
        System.out.println(sumCalculation(45, 82));
        System.out.println(leibnizPi(30));
    }

}
