一个斐波那契数列的前10项为:1, 2, 3, 5, 8, 13, 21, 34, 55, 89,对于一个最大项的值不超过n的斐波那契数列,求值为偶数的项的和。

来源:互联网 发布:数控车g76编程实例 编辑:程序博客网 时间:2024/06/05 09:32

题目内容:

一个斐波那契数列的前10项为:1, 2, 3, 5, 8, 13, 21, 34, 55, 89,对于一个最大项的值不超过n的斐波那契数列,求值为偶数的项的和。


输入格式:

一个正整数n,如100。


输出格式:

值为偶数的项的和,如 2 + 8 + 34 = 44。


输入样例:

100


输出样例:

44

时间限制:500ms内存限制:32000kb
def fib(num):
       sum=0
       p1=0
       p2=0
       i=0
       result=0


       while result<num:
       
          if i==0 or i==1:
             p1=1
             p2=1
             result=1
          elif i>1:
       
              if result%2==0:
          
                     sum+=result
         
              result=p1+p2
              p1=p2
              p2=result
      
          i+=1
       print sum
num=int(raw_input())
fib(num)
阅读全文
0 0