Sequence.cs 478 B

12345678910111213141516171819202122
  1. namespace Day9;
  2. public record Sequence(long[] Numbers)
  3. {
  4. public bool IsZeros() => Numbers.All(n => n == 0);
  5. public Sequence Difference()
  6. {
  7. var diff = new long[Numbers.Length - 1];
  8. for (var i = 0; i < Numbers.Length - 1; i++)
  9. {
  10. diff[i] = Numbers[i + 1] - Numbers[i];
  11. }
  12. return new Sequence(diff);
  13. }
  14. public long Next(long delta)
  15. {
  16. return Numbers.Last() + delta;
  17. }
  18. }