mcm ch2 exercises

Chapter 2 Exercises
`j` will always be less than `i` (`Stream.range` creates an empty stream when end <= start).