How to find the sum of the even valued in fibonacci sequence with Scala

1 Answer

0 votes
object FibonacciSum {
  def sumEvenNumbersInFibonacci(n: Int): Int = {
    if (n < 1) return 0

    var currentNumber = 0
    var nextNumber = 1
    var sum = 0
    val sequence = scala.collection.mutable.ListBuffer(0, 1)

    for (_ <- 0 until (n - 2)) {
      val temp = nextNumber
      nextNumber = currentNumber + nextNumber
      currentNumber = temp
      sequence += nextNumber

      if (nextNumber % 2 == 0) {
        sum += nextNumber
      }
    }

    println(sequence.mkString(" "))
    
    sum
  }

  def main(args: Array[String]): Unit = {
    val limit = 16
    
    val sumResult = sumEvenNumbersInFibonacci(limit)
    
    println(s"Sum = $sumResult")
  }
}

  
     
/*
run:
  
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
Sum = 798

*/

 



answered Apr 16, 2025 by avibootz
...