public static long ExecutePart1() { //Init var result = new List <long>(); var computer = new IntcodeComputer(); var phasesettings = Permutate(new List <long>() { 0, 1, 2, 3, 4 }, 5); var program = File.ReadAllText(@"..\..\..\Day7Input.txt").Split(",").Select(value => long.Parse(value)).ToList(); //Test all phase settings permutations foreach (var phasesetting in phasesettings) { long signal = 0; foreach (var ps in phasesetting) { //Load program computer.Load(program); //Run program var output = computer.Run(new Queue <long>(new long[] { ps, signal })); if (output.HasValue) { signal = output.Value; } } result.Add(signal); } return(result.Max()); }
private static string RunBoostProgram(long input) { //Init var computer = new IntcodeComputer(); var program = File.ReadAllText(@"..\..\..\Day9Input.txt").Split(",").Select(value => long.Parse(value)).ToList(); var result = new List <long>(); //Load program computer.Load(program); //Run program while (computer.State != ProgramState.Finished) { var output = computer.Run(new Queue <long>(new long[] { input })); if (output.HasValue) { result.Add(output.Value); } } return(string.Join(",", result.Select(value => value.ToString()))); }