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