From 49bcd31a80aad4dbe47a1d9dbfa11b556de50c8f Mon Sep 17 00:00:00 2001
From: FUSCIELLO Baptiste <baptiste.fusciello1@etu.univ-lorraine.fr>
Date: Thu, 27 Mar 2025 19:28:33 +0100
Subject: [PATCH] ajout de l'exercice 7

---
 exo7_debug.ts | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 exo7_debug.ts

diff --git a/exo7_debug.ts b/exo7_debug.ts
new file mode 100644
index 0000000..1106e59
--- /dev/null
+++ b/exo7_debug.ts
@@ -0,0 +1,34 @@
+multiplierParAddition(5, -3);
+
+function multiplierParAddition(x: number, y: number): number {
+    let val = 0;
+
+    // Si y est négatif, on le rend positif et on inverse le signe de x
+    if (y < 0) {
+        y = -y;
+        x = -x;
+    }
+
+    // Optimisation : toujours boucler sur le plus petit nombre
+    if (y < x) {
+        [x, y] = [y, x];
+    }
+
+    console.log(`Valeurs utilisées pour la boucle : x = ${x}, y = ${y}`);
+
+    for (let i = 0; i < y; i++) {
+        val += x;
+    }
+    return val;
+}
+
+// Tests avec les cas donnés
+const testCases: [number, number][] = [
+    [0, 0], [5, 3], [3, 5], [-5, -2], [-2, -5],
+    [-74, 2], [-1, 75], [10, -25], [10, -3]
+];
+
+testCases.forEach(([x, y]) => {
+    const result = multiplierParAddition(x, y);
+    console.log(`multiplierParAddition(${x}, ${y}) = ${result}`);
+});
\ No newline at end of file
-- 
GitLab