diff --git a/config.json b/config.json index cd132ecc4..0ba5af4a8 100644 --- a/config.json +++ b/config.json @@ -39,6 +39,7 @@ "luhn", "pig-latin", "simple-linked-list", + "sum-of-multiples", "linked-list", "nth-prime", "pascals-triangle", @@ -224,6 +225,11 @@ "difficulty": 1, "topics": [] }, + { + "slug": "sum-of-multiples", + "difficulty": 1, + "topics": [] + }, { "slug": "linked-list", "difficulty": 1, diff --git a/exercises/SumOfMultiples/build.gradle b/exercises/SumOfMultiples/build.gradle new file mode 100644 index 000000000..d019b23c7 --- /dev/null +++ b/exercises/SumOfMultiples/build.gradle @@ -0,0 +1,17 @@ +apply plugin: "java" +apply plugin: "eclipse" +apply plugin: "idea" + +repositories { + mavenCentral() +} + +dependencies { + testCompile "junit:junit:4.12" +} +test { + testLogging { + exceptionFormat = 'full' + events = ["passed", "failed", "skipped"] + } +} diff --git a/exercises/SumOfMultiples/src/example/SumOfMultiples.java b/exercises/SumOfMultiples/src/example/SumOfMultiples.java new file mode 100644 index 000000000..e1af00b6f --- /dev/null +++ b/exercises/SumOfMultiples/src/example/SumOfMultiples.java @@ -0,0 +1,27 @@ +import java.util.Arrays; +public class SumOfMultiples { + + + public int Sum(int number, int[] set) { + + int sum = 0; + int count = 0; + + for (int i = 1; i < number; i++) { + + for (int j = 0; j < set.length; j++) { + if (i % set[j] == 0) { + count++; + } + } + + if (count > 0) { + sum = sum + i; + count = 0; + } + } + + return sum; + } + +} diff --git a/exercises/SumOfMultiples/src/java/SumOfMultiples.java b/exercises/SumOfMultiples/src/java/SumOfMultiples.java new file mode 100644 index 000000000..a5d78aa20 --- /dev/null +++ b/exercises/SumOfMultiples/src/java/SumOfMultiples.java @@ -0,0 +1,4 @@ +import java.util.Arrays; +public class SumOfMultiples { + +} diff --git a/exercises/SumOfMultiples/src/test/SumOfMultiplesTest.java b/exercises/SumOfMultiples/src/test/SumOfMultiplesTest.java new file mode 100644 index 000000000..95e4f16e4 --- /dev/null +++ b/exercises/SumOfMultiples/src/test/SumOfMultiplesTest.java @@ -0,0 +1,187 @@ +import static org.junit.Assert.*; + +import org.junit.Ignore; +import org.junit.Test; + +public class SumOfMultiplesTest { + + + @Test + public void testSumOfMultiplesOf3and4UpToOne() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 3, + 5 + }; + int output = mySum.Sum(1, set); + assertEquals(0, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf3and5UpToFour() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 3, + 5 + }; + int output = mySum.Sum(4, set); + assertEquals(3, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf3and5UpToTen() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 3, + 5 + }; + int output = mySum.Sum(10, set); + assertEquals(23, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf3and5UpToOneHundred() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 3, + 5 + }; + int output = mySum.Sum(100, set); + assertEquals(2318, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf3and5UpToOneThousand() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 3, + 5 + }; + int output = mySum.Sum(1000, set); + assertEquals(233168, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf7and13and17UpToTwenty() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 7, + 13, + 17 + }; + int output = mySum.Sum(20, set); + assertEquals(51, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf4and6UpToFifteen() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 4, + 6 + }; + int output = mySum.Sum(15, set); + assertEquals(30, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf5and6and8UpToOneHundredFifty() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 5, + 6, + 8 + }; + int output = mySum.Sum(150, set); + assertEquals(4419, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf5and25UpToTwoHundredSeventyFive() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 5, + 25 + }; + int output = mySum.Sum(51, set); + assertEquals(275, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOf43and47UpToTenThousand() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 43, + 47 + }; + int output = mySum.Sum(10000, set); + assertEquals(2203160, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOfOneUpToOneHundred() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = { + 1 + }; + int output = mySum.Sum(100, set); + assertEquals(4950, output); + + } + + + @Test + @Ignore + public void testSumOfMultiplesOfNoneUpToTenThousand() { + + SumOfMultiples mySum = new SumOfMultiples(); + int[] set = {}; + int output = mySum.Sum(10000, set); + assertEquals(0, output); + + } + + + +}