猴子吃桃-递归Java
创始人
2024-05-25 16:22:54

题目:

一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;接下来的每一天它都会吃剩余的桃子的一半外加一个。第 (n(n≤20)) 天早上起来一看,只剩下 (1) 个桃子了。请问小猴买了几个桃子?

输入格式

输出格式

输入

4

输出

22

思路

推导一下
因为我们能明眼看出来的条件就是
最后一天的条件Sn=1是一个桃子还有经历的天数
所以只能从这两个条件入手
再看一下
前一天和后一天桃子的关系

因为我们是从后往前推,Sn在左,Sn-1在右
得到Sn-1=2*Sn+2

递归:从头开始推,从最后开始返回

代码

import java.util.Scanner;@SuppressWarnings("all")
public class Main{static int n;//n是总共经历的天数,Sn=1
public static void main(String [] args){Scanner scanner = new Scanner(System.in);n = scanner.nextInt();System.out.println(hou(1));}public static int  hou(int end) {//我们是从结果往前推因为我们只知道最后一天有一个桃子if(end == n) {return 1;}return 2*hou(end+1)+2;//递推一下,前面sn-1总是sn的2倍+2,end+1不要end++,我们传参会新开辟栈空间,传入的就是新的参数不是原来的end}
}

相关内容

热门资讯

猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...