当前位置:   article > 正文

算法提高 猴子吃桃问题(Java)_猴子吃桃算法的改进

猴子吃桃算法的改进

问题描述

        猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想在吃时就只剩下一个桃子了。求第一天共摘了多少桃子。

  1. /**
  2. * 2019/2/3
  3. * @author Baobab
  4. * 猴子吃桃问题 每天都吃前一天是剩下一半 多一个 最后一天(第十天) 剩下一个桃子
  5. */
  6. public class ADV_267 {
  7. public static void main(String[] args) {
  8. //System.out.println(find1());
  9. System.out.println(find2(10,1));
  10. }
  11. private static int find1(){
  12. int sum = 1;
  13. for(int i = 1;i < 10;i++)
  14. sum = (sum + 1) * 2;
  15. return sum;
  16. }
  17. /**
  18. * 递归解法 第十天往回推,在第一天的返回桃子数量
  19. * @param n
  20. * @param sum
  21. * @return
  22. */
  23. private static int find2(int n,int sum){
  24. if(n == 1){
  25. return sum;
  26. }else{
  27. sum = (sum + 1) * 2;
  28. return find2(n - 1,sum);
  29. }
  30. }
  31. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/64389
推荐阅读
相关标签
  

闽ICP备14008679号