JavaSE基础之斐波那契数列(递归算法)——恋天小结

package Recursion;
/**
 *斐波那契而数列:前两位是1,其他每一位都等于前两位的和
 * 
 * 方法传入的参数是位数  比如传入10 就是要计算第10位的值是多少
 * 、
 * 1 1 2 3 5 8 13 21 34 55 89
 */
 public class Recursion {
	 public static void main(String[] args) {
		 System.out.println(fibonacci(10));
	}
	 public static int fibonacci(int n) {
	  //每次执行方法对计数+1
	  count++;
	  //因为斐波那契而数列 最少也是1位,所以判断,小于1 返回-1
	  if(n < 1) {
	   return -1;
	   }
	   //因为斐波那契而数列的前两位都是1 所以判断n如果是1或者是2 就直接返回1
	  if(n == 1||n ==2) {
	   return 1;
	   }
	   //除了前两位,每一位的值都等于前两位的和,所以第n位 (n-1)位+(n-2)位
 	 return fibonacci(n - 1) + fibonacci(n - 2);
	  // return fibonacci(4) + fibonacci(3); n=5
	  // return fibonacci(3) + fibonacci(2); n=4
  	// return fibonacci(2) + fibonacci(1); n=2
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值