add UE10_Rekursion3
This commit is contained in:
BIN
src/UE10_070125_Rekursion3/SEW3 UE10 2024_Rekursion3.pdf
Normal file
BIN
src/UE10_070125_Rekursion3/SEW3 UE10 2024_Rekursion3.pdf
Normal file
Binary file not shown.
50
src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe1.java
Normal file
50
src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe1.java
Normal file
@@ -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);
|
||||
}
|
||||
}
|
||||
33
src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe2.java
Normal file
33
src/UE10_070125_Rekursion3/UE10_Rekursion3_Aufgabe2.java
Normal file
@@ -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<Integer> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user