From 0e284a3b0e031f2c6d59b12112df1a6c3bc5b289 Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Sun, 05 Oct 2025 02:31:57 +0200
Subject: [PATCH] Esame seconda lezione
---
src/main/java/BandMatrix.java | 17 ++++++++
src/main/java/RandomWalkers.java | 33 ++++++++++++++++
src/main/java/RandomWalker.java | 25 ++++++++++++
src/main/java/GeneralizedHarmonic.java | 13 ++++++
4 files changed, 88 insertions(+), 0 deletions(-)
diff --git a/src/main/java/BandMatrix.java b/src/main/java/BandMatrix.java
new file mode 100644
index 0000000..4344052
--- /dev/null
+++ b/src/main/java/BandMatrix.java
@@ -0,0 +1,17 @@
+public class BandMatrix {
+ public static void main(String[] args) {
+ int n = Integer.parseInt(args[0]);
+ int distanza = Integer.parseInt(args[1]);
+
+ for (int i = 0; i < n; i++) {
+ for (int j = 0; j < n; j++) {
+ if (Math.abs(i - j) <= distanza) {
+ System.out.print("* ");
+ } else {
+ System.out.print("0 ");
+ }
+ }
+ System.out.println();
+ }
+ }
+}
diff --git a/src/main/java/GeneralizedHarmonic.java b/src/main/java/GeneralizedHarmonic.java
new file mode 100644
index 0000000..bc238e6
--- /dev/null
+++ b/src/main/java/GeneralizedHarmonic.java
@@ -0,0 +1,13 @@
+public class GeneralizedHarmonic {
+ public static void main(String[] args) {
+ int n = Integer.parseInt(args[0]);
+ int m = Integer.parseInt(args[1]);
+ double sum = 0.0;
+
+ for (int i = 1; i <= n; i++) {
+ sum += 1.0 / Math.pow(i, m);
+ }
+
+ System.out.println(sum);
+ }
+}
diff --git a/src/main/java/RandomWalker.java b/src/main/java/RandomWalker.java
new file mode 100644
index 0000000..0826eb3
--- /dev/null
+++ b/src/main/java/RandomWalker.java
@@ -0,0 +1,25 @@
+public class RandomWalker {
+ public static void main(String[] args) {
+ int x = 0;
+ int y = 0;
+ int passi = 0;
+ int limite = Integer.parseInt(args[0]);
+
+ System.out.println("(" + x + "," + y + ")");
+ while (Math.abs(x) + Math.abs(y) < limite) {
+ double r = Math.random();
+ if (r < 0.25) {
+ x++;
+ } else if (r < 0.5) {
+ x--;
+ } else if (r < 0.75) {
+ y++;
+ } else {
+ y--;
+ }
+ passi++;
+ System.out.println("(" + x + "," + y + ")");
+ }
+ System.out.println("steps = " + passi);
+ }
+}
diff --git a/src/main/java/RandomWalkers.java b/src/main/java/RandomWalkers.java
new file mode 100644
index 0000000..b7ad8cc
--- /dev/null
+++ b/src/main/java/RandomWalkers.java
@@ -0,0 +1,33 @@
+public class RandomWalkers {
+ public static void main(String[] args) {
+
+ int limite = Integer.parseInt(args[0]);
+ int cicli = Integer.parseInt(args[1]);
+ int totalePassi = 0;
+ for (int i = 0; i < cicli; i++) {
+
+ int x = 0;
+ int y = 0;
+ int passi = 0;
+
+ while (Math.abs(x) + Math.abs(y) < limite) {
+ double r = Math.random();
+ if (r < 0.25) {
+ x++;
+ } else if (r < 0.5) {
+ x--;
+ } else if (r < 0.75) {
+ y++;
+ } else {
+ y--;
+ }
+ passi++;
+ }
+
+ totalePassi += passi;
+ }
+
+ System.out.println("average number of steps = " + ((double) totalePassi / cicli));
+ }
+
+}
--
Gitblit v1.8.0