栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java-算法-递归-猴子吃桃问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java-算法-递归-猴子吃桃问题

代码界的小学生,有不足之处或更好的方法欢迎在评论区指正或分享
本人是看b站韩顺平老师的视频,然后把一些个人理解写了进来
老师视频:P221 0220_韩顺平Java_猴子吃桃

问题:
猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;
* 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;
* 以后每天都吃前一天剩下的一半多一个,
* 到第10天想再吃时,只剩下一个桃子了。问第一天共吃了多少个桃子?

思路分析:

  • 第1天,共x个桃子,自己吃了 x/2+1 个桃子,还剩 x - (x/2 + 1) = x/2-1 个桃子
  • 第2天,有x/2-1个桃子
  • 现在已知第10天有1个桃子,根据上面得出算式反推
  • 则第9天有 (n + 1)*2 个桃子 也就是 (1+1)*2 = 4个桃子
  • 第8天,有10个桃子
  • 第7天,有22个桃子
  • 第6天,有46个桃子
  • 第5天,有94个桃子
  • 第4天,有190个桃子
  • 第3天,有382个桃子
  • 第2天,有766个桃子
  • 第1天,有1534个桃子

上代码:

public class Main {
	
	public static void main(String[] args) {
		System.out.println(Text(1));	//参数是第几天,返回那天的桃子数
	}
	
	public static int Text(int n) {
		if(n == 10)return 1;
		return (Text(n + 1)+1)*2;
	}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390369.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号