//青蛙跳台阶,一共有n个台阶,青蛙每次只能跳一阶或两阶,请问当n=10的时候有多少中跳法;
可以用动态规划的思想
当n=1时,有1种跳法
当n=2时有2种跳法
当n=3时有1+2=3种跳法
当n=4时有2+3=5种跳法
以此类推。。。。。。
代码实现:
public static void main(String[] args) { int n=10; int[] a=new int[n]; a[0]=1; a[1]=2; for (int i = 2; i <n ; i++) { a[i]=a[i-1]+a[i-2]; System.out.println("当n等于"+(i+1)+"时,有"+a[i]+"种跳法"); } }
当a下标为0时也就是n=1时,有1种方法,当a下标为1时也就是n=2时,有2种方法;这种简单的可以数出来的先定义好;
然后用for循环,遍历数组a,按照上面说的,当n=3时有1+2种跳法,也就是a[2],也就是a[2-1]+a[2-2]