diff --git a/src/UE08_051124_Rekursion1/JavaFX Manual.txt b/src/UE08_051124_Rekursion1/JavaFX Manual.txt new file mode 100644 index 0000000..e49da02 --- /dev/null +++ b/src/UE08_051124_Rekursion1/JavaFX Manual.txt @@ -0,0 +1,6 @@ +Anleitung um JavaFX zum laufen zu bringen: + +1) "File" -> "Project Structure" -> "Libraries" -> "+" -> "Java" -> Pfad zum LIB Ordner in JavaFX -> "OK" +3) Neben "Run" Knopf -> "Edit Configurations" -> "Modify Options" -> "Add VM options" -> --module-path "\path\to\javafx-sdk-23.0.1\lib" --add-modules javafx.controls,javafx.fxml (pfad austauschen) + +IMMER direkt auf den "lib" ordner \ No newline at end of file diff --git a/src/UE09_191124_Rekursion2/UE09_Rekursion2.java b/src/UE09_191124_Rekursion2/UE09_Rekursion2.java index b84dc2b..9d2eb34 100644 --- a/src/UE09_191124_Rekursion2/UE09_Rekursion2.java +++ b/src/UE09_191124_Rekursion2/UE09_Rekursion2.java @@ -10,19 +10,19 @@ public class UE09_Rekursion2 { int[][] file1 = readFile("src/UE09_191124_Rekursion2/UE09_triangle1.txt"); int[][] file2 = readFile("src/UE09_191124_Rekursion2/UE09_triangle2.txt"); int[][] file3 = readFile("src/UE09_191124_Rekursion2/UE09_triangle.txt"); - System.out.println("\n" + maxTotalRekursion(file1, 0, 0)); - System.out.println("\n" + maxTotalRekursion(file2, 0, 0)); + System.out.println("\n" + maxTotalRekursion(file1, 0, 0)); //23 + System.out.println("\n" + maxTotalRekursion(file2, 0, 0)); //1074 //// System.out.println("\n" + maxTotalRekursion(file3, 0, 0)); //Braucht ewig lange, da File sehr groß - System.out.println("\n" + maxTotal(file1)); - System.out.println("\n" + maxTotal(file2)); - System.out.println("\n" + maxTotal(file3)); - System.out.println(longestCollatzSequence(999999)); - System.out.println(longestCollatzSequence(13)); - System.out.println(collatzSequenceLength(13)); - int[] coins = new int[]{200, 100, 50, 20, 10, 5, 2, 1}; - System.out.println(coinSums(200, coins, 0)); - System.out.println(coinSums(10, new int[]{200, 100, 50, 20, 10, 5, 2, 1}, 0)); - System.out.println(coinSums(2, new int[]{200, 100, 50, 20, 10, 5, 2, 1}, 0)); + System.out.println("\n" + maxTotal(file1)); //23 + System.out.println("\n" + maxTotal(file2)); //1074 + System.out.println("\n" + maxTotal(file3)); //7273 + System.out.println(longestCollatzSequence(999999)); //837799 + System.out.println(longestCollatzSequence(13)); //9 + System.out.println(collatzSequenceLength(13)); //10 + int[] coins = new int[]{200, 100, 50, 20, 10, 5, 2, 1}; //73682 + System.out.println(coinSums(200, coins, 0)); //11 + System.out.println(coinSums(10, new int[]{200, 100, 50, 20, 10, 5, 2, 1}, 0)); //11 + System.out.println(coinSums(2, new int[]{200, 100, 50, 20, 10, 5, 2, 1}, 0)); //2 } public static int[][] readFile(String file) { diff --git a/src/UE10_070125_Rekursion3/SEW3 UE10 2024_Rekursion3.pdf b/src/UE10_070125_Rekursion3/SEW3 UE10 2024_Rekursion3.pdf new file mode 100644 index 0000000..ccc6ba1 Binary files /dev/null and b/src/UE10_070125_Rekursion3/SEW3 UE10 2024_Rekursion3.pdf differ diff --git a/src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe1.java b/src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe1.java new file mode 100644 index 0000000..1b49ce4 --- /dev/null +++ b/src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe1.java @@ -0,0 +1,50 @@ +package UE10_070125_Rekursion3; + + +import javafx.application.Application; +import javafx.scene.Scene; +import javafx.scene.canvas.Canvas; +import javafx.scene.canvas.GraphicsContext; +import javafx.scene.layout.BorderPane; +import javafx.scene.paint.Color; +import javafx.stage.Stage; + +import java.util.ArrayList; +import java.util.List; + +public class UE10_Rekursion3_Aufgabe1 extends Application { + + static final int canvasWidth = 1000; + static final int canvasHeight = 500; + + Canvas canvas = new Canvas(canvasWidth, canvasHeight); + GraphicsContext gc = canvas.getGraphicsContext2D(); + + public static void main(String[] args) { + //Aufgabe 1 + Application.launch(args); + } + + @Override + public void start(Stage primaryStage) { + primaryStage.setResizable(false); + primaryStage.setScene(new Scene(new BorderPane(canvas))); + primaryStage.show(); + gc.setFill(Color.LIGHTGRAY); + gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight()); + int side = 100; + drawRec((canvasWidth - side) / 2, canvasHeight - side - 10, side); + } + + private void drawRec(int xCord, int yCord, int side) { + if (side < 2) return; + gc.setFill(Color.WHITE); + gc.fillRect(xCord, yCord, side, side); + gc.setStroke(Color.BLACK); + gc.setLineWidth(1); + gc.strokeRect(xCord, yCord, side, side); + int newSide = side * 3 / 4; + drawRec(xCord - newSide, yCord - newSide, side / 2); + drawRec(xCord + side * 5 / 4, yCord - newSide, side / 2); + } +} \ No newline at end of file diff --git a/src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe2.java b/src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe2.java new file mode 100644 index 0000000..c991e01 --- /dev/null +++ b/src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe2.java @@ -0,0 +1,33 @@ +package UE10_070125_Rekursion3; + +import java.util.ArrayList; +import java.util.List; + +public class UE10_Rekursion3_Aufgabe2 { + public static void main(String[] args) { + //Aufgabe 2 + System.out.println("\n(9,3)"); + summingUp(9, 3, new ArrayList<>()); + System.out.println("\n(9,2)"); + summingUp(9, 2, new ArrayList<>()); + System.out.println("\n(45,9)"); + summingUp(45, 9, new ArrayList<>()); + System.out.println("\n(28,4)"); + summingUp(28, 4, new ArrayList<>()); + } + + public static void summingUp(int number, int count, List list) { + if (number == 0 && count == 0) { + System.out.println(list.toString().replaceAll("\\D", "")); + return; + } + if (number <= 0 || count <= 0) return; + int start = 9; + if (!list.isEmpty()) start = list.getLast() - 1; + for (int i = start; i >= 1; i--) { + list.add(i); + summingUp(number - i, count - 1, list); + list.removeLast(); + } + } +}