package com.itheima.lambda;
public class LambdaPractice3 {
public static void main(String[] args) {
/*
猴子吃桃子
有一堆桃子,猴子第一天吃了其中的一半,并多吃了一个!
以后每天猴子都吃当前剩下来的一半,然后再多吃一个,
第10天的时候(还没吃) ,发现只剩下一个桃子了,请问,最初总共多少个桃子?
day10: 1
day9: (day10 +1) *2 = 4
day8: (day9 + 1) *2 = 10
1.出口
day==10 剩下1
2.观律
每一天的桃子数量都是后一天数量加1,乘以2
反向递归
*/
System.out.println(getSum(1));
}
public static int getSum(int day){
if(day==10) {
return 1;
}
return (getSum(day+1)+1)*2;
}
}
Java 反向递归
这篇文章通过Java编程展示了如何使用Lambda表达式实现一个递归函数,解决猴子吃桃子的问题,即求出第10天仅剩一个桃子时,最初有多少个桃子。
摘要由CSDN通过智能技术生成