public override string GetSolution() { long output = 0; NumberSequence phaseSetting = new NumberSequence(5, 4); while (true) { if (phaseSetting.IsUnique()) { long ampOutput = 0; for (int i = 0; i < amps.Length; i++) { amps[i].Load(); amps[i].AddInput(phaseSetting[i]); amps[i].AddInput(ampOutput); amps[i].Run(); ampOutput = amps[i].GetOutput(); } if (ampOutput > output) { output = ampOutput; } } if (!phaseSetting.Increase()) { break; } } return(output.ToString()); }
public override string GetSolution() { for (int i = 0; i < 6; i++) { code.SetValue(i, int.Parse(inputCodes[0].Substring(i, 1))); } int validCodes = 0; Console.WriteLine(code.GetFullNumber()); while (code.GetFullNumber() < codeTo) { if (IsNumberValid(code.GetSequence())) { validCodes++; Console.WriteLine(code.GetFullNumber()); } code.Increase(); } return(validCodes.ToString()); }