蓝桥杯 算法提高JAVA题解:猴子吃桃问题
2020-03-23 18:39
148 查看
优化的递归,很容易得出,事实上这种优化并不能达到所有数据都在规定时间内
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了
前一天剩下的一半多一个,到第n天吃以前发现只剩下一个桃子,
要求编写函数GetNumber(int n)求出猴子共摘了几个桃子。
输入格式
输入整数n。
输出格式
输出整数m。
样例输入
一个满足题目要求的输入范例。
例:
3
样例输出
与上面的样例输入对应的输出。
例:
10
数据规模和约定
输入的整数2<=n<=30.
class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n=sc.nextInt();//第n天发现剩下1个桃子 int m=1; if(n!=1){ for (double j=(n*n)%2==0?n*n:n*n+1;;j=j+2){//桃子数量肯定比n*n要多,注意j必须是double类型,不然会有多种答案 if (helper(j,n,1)){ m=(int)j; break; } } } System.out.println(m); } public static boolean helper(double m,int n,int curr){ if (curr==n){ return m==1; }else{ return helper(m-(m/2+1),n,curr+1); } } }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 蓝桥杯练习-----------算法提高------ADV-104 打水问题(Java描述)
- 蓝桥杯算法提高-阮小二买彩票问题(Java语言)
- 算法提高 扶老奶奶过街 蓝桥杯 java详解
- 蓝桥杯 ADV-166 算法提高 聪明的美食家 java版
- 蓝桥杯 算法提高 日期计算(java)
- 学霸的迷宫-蓝桥杯算法提高-广搜 bfs 经典问题
- 蓝桥杯 算法提高 12-1三角形 (Java解题)
- 算法-蓝桥杯-入门训练 A+B问题(JAVA)
- 算法-蓝桥杯-算法提高 身份证号码升级(JAVA)
- 蓝桥杯 算法提高 打水问题 逻辑策略 贪心
- 算法笔记_104:蓝桥杯练习 算法提高 新建Microsoft Word文档(Java)
- 蓝桥杯 ADV-239 算法提高 P0102 (进制转换) (java)
- 蓝桥杯 算法提高VIP 特殊的质数肋骨(Java解题)
- 蓝桥杯 算法提高VIP 寻找三位数(java)
- 算法-蓝桥杯-算法提高 6-17复数四则运算 (JAVA)
- 蓝桥杯 算法提高VIP 计算质因子(java)
- 蓝桥杯 算法提高VIP 最长单词(Java解题)
- 蓝桥杯 ADV-205 算法提高 拿糖果 java版
- 算法笔记_097:蓝桥杯练习 算法提高 P1001(Java)
- 蓝桥杯 算法提高 学霸的迷宫 经典BFS问题