求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
* 分析: n == 1, result 1
* n == 2, result 1
* n == 3, result 1+1 fun(n-1) + fun(n-2)
* n == 4, result 2+1 fun(n-1) + fun(n-2)
* 这种情况肯定要考虑递归
代码实现:
- public class Test4 {
- public static void main(String[] args) {
- // 定义递归方法并用int类型的result接收,因为n<30,以n=15为例.
- int result = fun(15);
- System.out.println(result);
-
- }
- private static int fun(int n) {
- // 判断,当n=1或者n=2时,返回结果为1
- if (n == 1 || n == 2) {
- return 1;
- } else {
- // 当n>2时,result = fun(n-1) + fun(n-2);返回结果
- return fun(n - 1) + fun(n - 2);
- }
- }
- }
复制代码
|
|