现在程序员不好招啊,毕业生也行吧,但要考考算法基本功
出了个题目: 打印出前 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)