Dãy Fibonacci được tạo bởi cách tính tổng 2 số liền kề thành số tiếp theo. Khởi đầu của dãy là 1 và 1, dưới đây là 10 số đầu tiên của dãy: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …
Yêu cầu: Hãy tính tổng các phần tử là số chẵn trong dãy Fibonacci với giá trị lớn của dãy không vượt quá N (N<=10^12).
Input Format
Chứa một số nguyên dương duy nhất N.
Constraints
N<=10^12.
Output Format
Chứa một số nguyên dương duy nhất là tổng tìm được theo yêu cầu đề ra.
Sample Input 0
15
Sample Output 0
10
program tong_chan_fibo;
uses crt;
var n,f1,f2,fn,t:longint;
begin
write(‘Nhap n: ‘); readln(n);
f1:=1; f2:=1; t:=0;
while f1<=n do
begin
if f1 mod 2=0 then t:=t+f1;
fn:=f1+f2;
f1:=f2;
f2:=fn;
end;
write(t);
readln;
end.
program phuongt;
uses crt;
var f1, f2, fi: integer;
i, n, s: integer;
ip, op: text;
begin
clrscr;
assign(ip, ‘E:\input.txt’);
assign(op, ‘E:\output.txt’);
reset(ip);
rewrite(op);
readln(ip, n);
f1:=1;
f2:=1;
i:=1;
s:=0;
while i<=n do
begin
f1:=f2;
f2:=fi;
fi:=f1+f2;
if fi mod 2 = 0 then s:=s+fi;
i:=i+1;
end;
write(op, ‘Tong = ‘, s);
close(ip);
close(op);
writeln(‘Mo file de xem ket qua’);
readln
end.