其实斐波那契数列也是面试题的一样,有的公司会用这个作为考题。所以我在这里还是要说一下斐波那契数列。我记得有一道题目就是考斐波那契数列的,就是有一对兔子,隔三个月出生一对兔子,新兔子也要隔三个月才能生出兔子,这样的问题,问第九个月有多少对兔子?
所谓的斐波那契数列就是以第一二个数字为1,从第三个数字开始就是它前两个数字的和,也就是2。第四个数字就是第二个和第三个的和,也就是3。就是这样循环下去。数列就是这样:1 1 2 3 5 8 ......
{
if (num <= 2)
return 1;
return func(n -1) + func(n - 2);
}
所谓的斐波那契数列就是以第一二个数字为1,从第三个数字开始就是它前两个数字的和,也就是2。第四个数字就是第二个和第三个的和,也就是3。就是这样循环下去。数列就是这样:1 1 2 3 5 8 ......
我在这里介绍两种方法去写出这个斐波那契数列:
第一种就是递归的方法,不过这种方法比较不好,因为它很影响效率。每次递归下去都有两个分支,也就是一个稍微大一点的数就会有影响。
long func(int num){
if (num <= 2)
return 1;
return func(n -1) + func(n - 2);
}