变态跳台阶

来源:互联网 发布:c语言输出乘法口诀表 编辑:程序博客网 时间:2024/05/17 04:05

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解释:当青蛙跳上一个n级的台阶时,设跳上n阶梯的跳法有a[n]种,则
a[n]=a[n-1]+a[n-2]+a[n-3]…..a[2]+a[1]+1;因为可以一次性直接跳上n阶梯,所以后面要加1,其实从a[3]开始每一个后面都加过1的。

import java.util.Scanner;public class AbnormalJumpStep {    public static void main(String[] args) {        Scanner in=new Scanner(System.in);        int n=in.nextInt();        System.out.println(JumpFloorII(n));    }    public static int JumpFloorII(int target) {        int a[]=new int[target+10];        a[1]=1;        a[2]=2;        for (int i =3; i <=target; i++) {            int sum=0;            for (int j = 1; j <i; j++) {                sum=sum+a[j];            }            a[i]=sum+1;        }        return a[target];    }}
0 0
原创粉丝点击