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

1 Answer

0 votes
package main

import (
    "fmt"
    "strconv"
)

func sumEvenNumbersInFibonacci(n int) int {
    if n < 1 {
        return 0
    }

    currentNumber := 0
    nextNumber := 1
    sum := 0
    s := "0 1"

    for i := 0; i < n - 2; i++ {
        temp := nextNumber
        nextNumber = currentNumber + nextNumber
        currentNumber = temp
        s += " " + strconv.Itoa(nextNumber)

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

    fmt.Println(s)

    return sum
}

func main() {
    limit := 16
    
    sumResult := sumEvenNumbersInFibonacci(limit)
    
    fmt.Println("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
...