分别用 循环 和 递归来实现 打印出前 n 个 菲波那切数列

现在程序员不好招啊,毕业生也行吧,但要考考算法基本功

出了个题目:     打印出前 n 个 菲波那切数列  ,分别用 循环 和 递归来实现 ,结果来了几个

计算机毕业的大学生,没一个做出来的。 真是郁闷了。 这题目应该是上学时经常用到的题目吧。

我自己用 python 来实现一下。

  

#循环实现
def fn(n):
    i,j=1,0
    for k in range(1,n):
       i,j=i+j,i
       print i


#递归实现(只是算法实现,效率不考虑)
def fn(n):
   def fn1(n,l):
      if n<=2:
         i = 1
      else:
         i=fn1(n-1,l-1)+fn1(n-2,l-1)
      if n==l:
         print i
      return i
   fn1(n,n)


猜你喜欢

转载自blog.csdn.net/fangkailove/article/details/8162281