一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
也就是说,这个青蛙跳到n级的台阶,那么这个青蛙的上一个台阶可能是从第1级、2级、3级、4级。。。。。n-1级跳上去。
所以跳上n级台阶的跳发是f[1]+f[2]+f[3]+......+f[n-1]的和,然后再+1(直接从0跳到n级)
package nowcoder;
import java.util.Scanner;
public class no9 {
public static int JumpFloorII(int target) {
int[] f=new int[9999];
f[1]=1;
f[2]=2;
for(int i=3;i<=target;i++)
{
for(int j=1;j<i;j++)
{
f[i]+=f[j];
}
f[i]++;
}
return f[target];
}
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
int target=scanner.nextInt();
int result=JumpFloorII(target);
System.out.println(result);
}
}