From 32622b43b55a2a6fd99b689c912d43ea412e8403 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Fri, 25 Oct 2024 11:00:24 -0300 Subject: [PATCH] =?UTF-8?q?[Hacker=20Rank]:=20Project=20Euler=20#1:=20Mult?= =?UTF-8?q?iples=20of=203=20and=205=20solved=20=E2=9C=93.=20Coverage=20inc?= =?UTF-8?q?reased.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/hackerrank/projecteuler/euler001.cpp | 7 +++- .../projecteuler/euler001.testcases.json | 34 ++++++++++++++++--- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/lib/exercises/src/hackerrank/projecteuler/euler001.cpp b/src/lib/exercises/src/hackerrank/projecteuler/euler001.cpp index 88de0cb..1bbb37c 100644 --- a/src/lib/exercises/src/hackerrank/projecteuler/euler001.cpp +++ b/src/lib/exercises/src/hackerrank/projecteuler/euler001.cpp @@ -43,7 +43,12 @@ unsigned long euler001(int a, int b, int n) { // Since, we need the sum of multiples less than N n = n - 1; - unsigned long lcm = (a * b) / gcd(a, b); + unsigned long the_gcd = gcd(a, b); + if (the_gcd == 0) { + return 0; + } + + unsigned long lcm = (a * b) / the_gcd; return sum_of_arithmetic_progression(n, a) + sum_of_arithmetic_progression(n, b) - diff --git a/src/tests/unit/lib/hackerrank/projecteuler/euler001.testcases.json b/src/tests/unit/lib/hackerrank/projecteuler/euler001.testcases.json index 2021998..333b1ee 100644 --- a/src/tests/unit/lib/hackerrank/projecteuler/euler001.testcases.json +++ b/src/tests/unit/lib/hackerrank/projecteuler/euler001.testcases.json @@ -1,6 +1,32 @@ [ - { "a": 3, "b": 5, "n": 10, "expected": 23 }, - { "a": 5, "b": 3, "n": 10, "expected": 23 }, - { "a": 3, "b": 5, "n": 100, "expected": 2318 }, - { "a": 3, "b": 5, "n": 1000, "expected": 233168 } + { + "a": 0, + "b": 0, + "n": 0, + "expected": 0 + }, + { + "a": 3, + "b": 5, + "n": 10, + "expected": 23 + }, + { + "a": 5, + "b": 3, + "n": 10, + "expected": 23 + }, + { + "a": 3, + "b": 5, + "n": 100, + "expected": 2318 + }, + { + "a": 3, + "b": 5, + "n": 1000, + "expected": 233168 + } ]