def incLast
(list
: Stream
[Int
]): Stream
[Int
] = list
match { case x
#:: Empty
=> Stream
(x +
1) case x
#:: xs
=> x
#:: incLast
(xs
) }
def main
(args
: Array
[String
]): Unit
= {
println(s"${incLast(Stream.range(1, 10000)).last}")
}
}
aW1wb3J0IFN0cmVhbS5fCgpvYmplY3QgTWFpbiB7CiAgZGVmIGluY0xhc3QobGlzdDogU3RyZWFtW0ludF0pOiBTdHJlYW1bSW50XSA9IGxpc3QgbWF0Y2ggewogICAgY2FzZSBFbXB0eSA9PiBFbXB0eQogICAgY2FzZSB4ICM6OiBFbXB0eSA9PiBTdHJlYW0oeCArIDEpCiAgICBjYXNlIHggIzo6IHhzID0+IHggIzo6IGluY0xhc3QoeHMpCiAgfQoKICAgZGVmIG1haW4oYXJnczogQXJyYXlbU3RyaW5nXSk6IFVuaXQgPQogICB7CiAgICAgcHJpbnRsbihzIiR7aW5jTGFzdChTdHJlYW0ucmFuZ2UoMSwgMTAwMDApKS5sYXN0fSIpCiAgIH0KfQ==