program FibonacciEvenSum;
function SumEvenNumbersInFibonacci(N: Integer): Integer;
var
currentNumber, nextNumber, temp, sum, i: Integer;
begin
if N < 1 then
Exit(0);
Write(0, ' ', 1, ' ');
currentNumber := 0;
nextNumber := 1;
sum := 0;
for i := 1 to N - 2 do
begin
temp := nextNumber;
nextNumber := currentNumber + nextNumber;
currentNumber := temp;
Write(nextNumber, ' ');
if nextNumber mod 2 = 0 then
sum := sum + nextNumber;
end;
SumEvenNumbersInFibonacci := sum;
end;
var
sum: Integer;
begin
sum := SumEvenNumbersInFibonacci(15);
Writeln;
Writeln('Sum = ', sum);
end.
(*
run:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
Sum = 188
*)