50个苹果,一次取一个或者两个,直到取完为止,一共有多少种取法
这是一个斐波拉契数列,可以用动态规划来实现
1 public class Test { 2 public static void main(String[] args) { 3 long count[] = new long[51]; 4 count[0] = 0l; 5 count[1] = 1l; 6 for(int i = 2; i < count.length;i++){ 7 count[i] = count[i - 1] + count[i - 2]; 8 } 9 System.out.println("count[50] = " + count[50]); 10 } 11 }
count[50] = 12586269025
ps:这里结果已经超出int表示范围,可以用long来存储