This commit is contained in:
AlexBa16
2025-01-27 09:54:33 +01:00
parent 42c18440d8
commit 0fc9f82728
9 changed files with 105 additions and 87 deletions

View File

@@ -1,54 +0,0 @@
package UE00_Other.MEDT;
import java.util.ArrayList;
import java.util.List;
public class Plakat_CODING_Contest {
static final String participation_fee = "20€";
static final String grand_prize = "Macbook Pro M4";
public static List<Integer> generateFibonacci(int length) {
List<Integer> sequence = new ArrayList<>();
int a = 0, b = 1;
while (sequence.size() < length) {
sequence.add(a);
int temp = a;
a = b;
b = temp + b;
}
return sequence;
}
public static List<Integer> generateRandomNumbers(int count) {
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < count; i++) numbers.add((int) (Math.random() * 100) + 1);
return numbers;
}
public static int sumPrimes(List<Integer> numbers) {
int sum = 0;
for (int number : numbers) if (isPrime(number)) sum += number;
return sum;
}
public static boolean isPrime(int number) {
if (number <= 1) return false;
for (int i = 2; i <= Math.sqrt(number); i++) if (number % i == 0) return false;
return true;
}
static void depthFirstSearch(Node node, List<Node> visited) {
if (node == null || visited.contains(node)) return;
System.out.println("Visited: " + node.name);
visited.add(node);
for (Node neighbor : node.neighbors) depthFirstSearch(neighbor, visited);
}
static class Node {
String name;
List<Node> neighbors;
Node(String name) {
this.name = name;
this.neighbors = new ArrayList<>();
}
void addNeighbor(Node neighbor) {
neighbors.add(neighbor);
}
}
}

View File

@@ -1,33 +0,0 @@
package UE00_Other.MEDT.SUE;
public class eightTowers {
public static final int dim = 8;
public static int[] columns = new int[dim];
public static boolean[] lines = new boolean[dim];
public static int counter = 0;
public static void main(String[] args) {
tower(0);
System.out.println(counter);
}
public static void tower(int column) {
if (column == dim) {
for (int i = 0; i < columns.length; i++) {
char c = (char) ('A' + i);
System.out.print(c + "" + columns[i] + " ");
}
System.out.println();
counter++;
return;
}
for (int line = 0; line < dim; line++) {
if (lines[line]) continue;
lines[line] = true;
columns[column] = line;
tower(column + 1);
lines[line] = false;
}
}
}

View File

@@ -0,0 +1,61 @@
package UE11_140125_Rekursion4;
public class EightQueens {
public static final int dim = 8;
public static int counter = 0;
public static int[] columns = new int[dim];
public static boolean[] isBlockedRow = new boolean[dim];
public static boolean[] isBlockedD1 = new boolean[2 * dim - 1];
public static boolean[] isBlockedD2 = new boolean[2 * dim - 1];
public static void main(String[] args) {
boolean giveDetailedOutput = false;
tower(0, giveDetailedOutput);
System.out.println(counter);
counter = 0;
queen(0, giveDetailedOutput);
System.out.println(counter);
}
public static void tower(int column, boolean giveDetailedOutput) {
if (column == dim) {
counter++;
if (giveDetailedOutput) output();
return;
}
for (int line = 0; line < dim; line++) {
if (isBlockedRow[line]) continue;
isBlockedRow[line] = true;
columns[column] = line;
tower(column + 1, giveDetailedOutput);
isBlockedRow[line] = false;
}
}
public static void queen(int column, boolean giveDetailedOutput) {
if (column >= dim) {
counter++;
if (giveDetailedOutput) output();
return;
}
for (int row = 0; row < dim; row++) {
int d1 = row + column, d2 = (dim - 1) - row + column;
if (isBlockedRow[row] || isBlockedD1[d1] || isBlockedD2[d2]) continue;
isBlockedRow[row] = isBlockedD1[d1] = isBlockedD2[d2] = true;
columns[column] = row;
queen(column + 1, giveDetailedOutput);
isBlockedRow[row] = isBlockedD1[d1] = isBlockedD2[d2] = false;
}
}
public static void output() {
for (int i = 0; i < columns.length; i++) {
char c = (char) ('A' + i);
System.out.print(c + "" + (columns[i] + 1) + " ");
}
System.out.println();
}
}

View File

@@ -0,0 +1,32 @@
package UE11_140125_Rekursion4;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.List;
public class Sudoku {
public static void main(String[] args) {
String sudokuPath = "src/UE11_140125_Rekursion4/Sudokus/easy.sudoku";
int[][] sudoku = readSudoku(sudokuPath);
print(sudoku);
}
public static int[][] readSudoku(String path) {
int[][] sudoku = new int[9][9];
try {
List<String> input = Files.readAllLines(Path.of(path));
} catch (IOException e) {
throw new RuntimeException(e);
}
return sudoku;
}
public static void print(int[][] in) {
for (int[] i : in) System.out.println(Arrays.toString(i));
}
}

View File

@@ -0,0 +1,3 @@
easy_01: .....71..15....7..39....8.5..2.5...8.6...291......1.6.....2.6......192.........53
easy_02: .12..64...9........4.7..2..1......427.59......6.3.....9745..........3.....6..4.59
easy_03: ........3.5...8.2...84..7.....2...34...6..8...4.3.5.97.62.5......4..3..9...7...5.

View File

@@ -0,0 +1,3 @@
expert_01: .5......3.18...7..47.........7.48.95.....3..7....953.8....3....1....4.8....9..4.6
expert_02: ..8..6..2.9214...7......4.....7.4..8..68......4.5197..2..........5.9...4.....7291
expert_03: .34.6.1.5...8.....26.1....81.6.4....45......2.8.....5..1.698...3.......6..235....

View File

@@ -0,0 +1,3 @@
intermedia_01: ..9245....7......8.3..1.2....2....4...5..9..3............9..7.18....7........3589
intermedia_02: ..9.......38..4..7.4...6...4.......6....5341.........3..74..681.9.13...5.5...87..
intermedia_03: .8...1...7.4...5.1..56...8..48......91..28...5.2.......9....1.....1.6974....8.6..

View File

@@ -0,0 +1,3 @@
simple_01: .......3....1..694........11493.5.2.....1..8....6....9.9.4.6.5.2........65..28.1.
simple_02: 3..8...7......94.6.27...8..68.....4................689..93.5.2.8..6......5..2.7.4
simple_03: ...65.......4.8.2...49.3.8..53.....7.........6..3.....4..8..59.....3...492.7.4..6

Binary file not shown.