public static void Main()
ulong totalNumberOfTicks = 0;
for (int i = 0; i < maxRepetitions; i++)
long startTicks = DateTime.Now.Ticks;
ulong sum = Problem001(1000, 3, 5);
long ticksTaken = DateTime.Now.Ticks - startTicks;
totalNumberOfTicks += Convert.ToUInt64(ticksTaken);
Console.WriteLine("Iteration #{0} of {1}", i + 1, maxRepetitions);
Console.WriteLine("Calculation: {0}", sum);
Console.WriteLine("Ticks Taken: {0}", ticksTaken);
Console.WriteLine("Averate Ticks Taken: {0}", totalNumberOfTicks / (ulong)maxRepetitions);
private static ulong Problem001(uint limit, params uint[] factors)
for (uint number = 1; number < limit; number++)
foreach (uint factor in factors)
if (number % factor == 0)