18 lines
508 B
Scala
18 lines
508 B
Scala
import scala.io.Source
|
|
val lines = Source.fromFile(getClass.getResource("/input1.txt").getFile).getLines().toList
|
|
|
|
// 1
|
|
val result1 = lines.foldLeft (0) { (acc, i) => acc + (i.toInt/3-2)}
|
|
println(result1)
|
|
|
|
// 2
|
|
@scala.annotation.tailrec
|
|
def findRecursiveFuel(fuel:Int, acc:Int):Int =
|
|
{
|
|
val nextFuel = (fuel/3)-2
|
|
if (nextFuel <= 0) acc
|
|
else findRecursiveFuel(nextFuel, nextFuel+acc)
|
|
}
|
|
|
|
val result2 = lines.foldLeft (0) { (acc, i) => acc + findRecursiveFuel(i.toInt, 0)}
|
|
println(result2) |