青蛙跳

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法

 1 package com.algorithm;
 2 
 3 public class FogJump {
 4     //一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
 5     //这是一种变化的菲波那切数列,是1,2,3,5,8的形式
 6      public int JumpFloor(int target) {
 7          int one = 1;//第一项
 8          int two = 2;//第二项
 9          if(target <= 0)//如果小于等于0,返回0
10              return 0;
11          if(target == 1 )//如果是第一项,返回1
12              return 1;
13          if(target == 2)//如果是第二项,返回2
14              return 2;
15          while(target-- > 2){
16              two += one;//返回项
17              one = two - one;//返回项的前一项
18          }
19          return two;
20         }
21      public static void main(String[] args) {
22         System.out.println(new FogJump().JumpFloor(24));
23     }
24 }

 

posted @ 2017-03-06 10:19  fankongkong  阅读(136)  评论(0编辑  收藏  举报