E-mail
Find the largest Product.. I got product wrong initially. I summed instead. Unit testing was great as when I realised my mistake was an easy fix, and had confidence in the code.
[TestClass]public class UnitTest1{ [TestMethod] public void findGreatestProductOf5ConsecutiveDigitsInSimpleString() { string stringOfNumbers = "1111112341111"; ProductFinder productFinder = new ProductFinder(); int result = productFinder.findGreatestProduct(stringOfNumbers); Assert.AreEqual(11, result); } [TestMethod] public void findGreatestProductOf5ConsecutiveDigitsInLongString() { string stringOfNumbers = "731671765313306249192251196744265747423553..."; ProductFinder productFinder = new ProductFinder(); int result = productFinder.findGreatestProduct(stringOfNumbers); Assert.AreEqual(123, result); }}public class ProductFinder{ public int findGreatestProduct(string stringOfNumbers) { //try first 3 int lengthOfString = stringOfNumbers.Count(); List<int> listOfResults = new List<int>(); char[] numbers = stringOfNumbers.ToArray(); for (int i = 0; i < lengthOfString-6; i++) { int first = Convert.ToInt32(stringOfNumbers.Substring(i, 1)); int second = Convert.ToInt32(stringOfNumbers.Substring(i+1, 1)); int third = Convert.ToInt32(stringOfNumbers.Substring(i+2, 1)); int fourth = Convert.ToInt32(stringOfNumbers.Substring(i+3, 1)); int fifth = Convert.ToInt32(stringOfNumbers.Substring(i+4, 1)); int result = first * second * third * fourth * fifth; listOfResults.Add(result); } int largestProduct = listOfResults.Max(); return largestProduct; }}
Remember Me
a@href@title, strike