4.1
#coding=utf-8
"""
题目内容:
一个斐波那契数列的前10项为:1, 2, 3, 5, 8, 13, 21, 34, 55, 89,对于
一个最大项的值不超过n的斐波那契数列,求值为偶数的项的和。
输入格式:
一个正整数n,如100。
输出格式:
值为偶数的项的和,如 2 + 8 + 34 = 44。
输入样例:
100
输出样例:
44
时间限制:500ms内存限制:32000kb
"""
"""
author:有趣的愚蠢
"""
def fibo(n): #计算斐波那契数列
if n ==2 or n ==1:
return 1
return fibo(n-1)+fibo(n-2)
n = int(raw_input()) #输入数n
i=1 #变量i用于增加数列值
sum =0 #求和值
while True:
if fibo(i)>n: #如果斐波数列值大于N,则跳出循环
break
if fibo(i)%2==0: #如果菲波数列值为偶数,则与sum相加
sum+=fibo(i)
i+=1 #计数器加1
print sum #输出结果