Quellcode durchsuchen

add some reverse function examples + tasks

Noah Vogt vor 3 Jahren
Ursprung
Commit
a7f7d00edd

+ 13 - 0
rekursive-funktionen/IterativFaku.java

@@ -0,0 +1,13 @@
+public class IterativFaku {
+    public static long berechneFakultaet(int n) {
+        long faku = 1;
+        for (int i = 1; i <= n; i++)
+            faku = faku * i;
+        return faku;
+    }
+
+    public static void main(String[] args) {
+        long faku = berechneFakultaet(20);
+        System.out.println("10! = " + faku);
+    }
+}

+ 14 - 0
rekursive-funktionen/RekursivFaku.java

@@ -0,0 +1,14 @@
+public class RekursivFaku {
+    public static long berechneFakultaet(int n) {
+        System.out.println("Aufruf mit: " + n);
+        if (n >= 1) // Abbruchbedingung noch nicht erreicht
+            return n * berechneFakultaet(n - 1);
+        else // Abbruchbedingung erfüllt, d.h. n ist gleich 0.
+            return 1;
+    }
+    public static void main(String[] args) {
+        int n = 10;
+        long z = berechneFakultaet(n);
+        System.out.println("10! = " + z);
+    }
+}

+ 14 - 0
rekursive-funktionen/aufgabe1.java

@@ -0,0 +1,14 @@
+public class Rekursion
+{
+    public int rekursAufruf (int n)
+    {
+        if (n > 1)
+            return n + rekursAufruf (n - 1);
+        return 1;
+    } 
+    public static void main (String [] args)
+    {
+        Rekursion rek = new Rekursion();
+        System.out.println (rek.rekursAufruf (100));
+    }
+}

+ 34 - 0
rekursive-funktionen/aufgabe5.java

@@ -0,0 +1,34 @@
+import java.util.Scanner;
+
+public class aufgabe5 {
+    public static void main(String[] args) {
+        Scanner scanner = new Scanner(System.in);
+
+        System.out.printf("first number >>>  ");
+        int a = scanner.nextInt();
+        System.out.printf("second number >>> ");
+        int b = scanner.nextInt();
+
+        scanner.close();
+
+        System.out.println("a + b = " + recSum(a, b, 0));
+        System.out.println("a * b = " + recMultiply(a,b));
+    }
+
+    public static int recSum(int a, int b, int result) {
+        //System.out.println("a = " + a + " b = " + b + " result = " + result);
+        if (a >= 1)
+            return recSum(a - 1, b, result + 1);
+        if (b >= 1)
+            return recSum(a, b - 1, result + 1);
+        return result;
+    }
+
+    public static int recMultiply(int a, int b) {
+        //System.out.println("call with a = " + a);
+        if (a > 1)
+            return recSum(b, recMultiply(a - 1, b), 0);
+        return b;
+    }
+}
+

+ 23 - 0
rekursive-funktionen/recMult.java

@@ -0,0 +1,23 @@
+import java.util.Scanner;
+
+public class recMult {
+    public static void main(String[] args) {
+        Scanner scanner = new Scanner(System.in);
+
+        System.out.printf("first number >>>  ");
+        int a = scanner.nextInt();
+        System.out.printf("second number >>> ");
+        int b = scanner.nextInt();
+
+        scanner.close();
+
+        System.out.println("a * b = " + recMultiply(a,b));
+    }
+
+public static int recMultiply(int a, int b) {
+    //System.out.println("call with a = " + a);
+    if (a > 1)
+        return b + recMultiply(a - 1, b);
+    return b;
+    }
+}