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
*/