public void Validate_pqrstuv1048970() { AdventCoin coin = new AdventCoin("pqrstuv", 1048970); const string expected = "000006136EF2FF3B291C85725F17325C"; string actual = coin.Md5Hash; Assert.AreEqual(actual, expected); }
public void Validate_abcdef609043() { AdventCoin coin = new AdventCoin("abcdef", 609043); const string expected = "000001DBBFA3A5C83A2D506429C7B00E"; string actual = coin.Md5Hash; Assert.AreEqual(actual, expected); }
private static void Main(string[] args) { AdventCoin coin = new AdventCoin("ckczppom", 0); // Part 1 string part1 = GetLowestNumber(coin, "00000"); // Part 2 coin.Value = 0; string part2 = GetLowestNumber(coin, "000000"); Console.WriteLine(part1); Console.WriteLine(part2); Console.Write("Press any key..."); Console.ReadKey(); }
private static string GetLowestNumber(AdventCoin coin, string s) { bool mined = false; while (!mined) { if (coin.Value % 100000 == 0) { Console.WriteLine($"Processed {coin.Value} values..."); } if (coin.Match(s)) { mined = true; break; } coin.Value++; } return $"Coin starting with {s} mined with value {coin.Value}. Hash: {coin.Md5Hash}"; }