Test your programming skills with Project Euler

Posted written by Paul Seal on December 22, 2015 Resources

If you enjoy writing code and solving puzzles, you will love Project Euler. It is filled with mathematical puzzles which require you to write some code to get the answer. You could use the problems as a chance to write out the solution in a different programming language. 

The problem:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.

My solution:

public static void Main()
{

 Console.WriteLine(GetSumOfMultiples(1, 10, new int[] { 3, 5 }));
 //23
 
 Console.WriteLine(GetSumOfMultiples(1, 1000, new int[] { 3, 5 }));
 //233168
}


public static int GetSumOfMultiples(int startNumber, int endNumber, int[] multiples)
{
 int sum = 0;
 for (int x = startNumber; x < endNumber; x++)
 {
 foreach(int m in multiples)
 {
 if (IsMultiple(x, m)) 
 {
 sum += x;
 break;
 } 
 }
 }
 return sum;
}

public static bool IsMultiple(int x, int y)
{
 return x % y == 0;
}

As you can see, I tested it out against their example and it works fine, then I ran it against the problem and it comes up with the correct answer.

LINQPad is ideal for this as it is so quick to get some code written and running without having to create a project in Visual Studio etc.

Anyway, have a go at the problems and let me know what you think. https://projecteuler.net/

Paul