猴子吃桃(递归)

递归案例实践分析

猴子偷桃

题目描述:

猴子第一天摘下若干桃子,当即吃了一半,觉得好吃不过瘾,于是又多吃了一个,,第二天又吃了前天剩余桃子数量的一半,觉得好不过瘾,于是又多吃了一个,以后每天都是吃前天剩余桃子数量的一半,觉得不过瘾,又多吃一个,等到第十天的时候,发现桃子只有一个。
需求:请问猴子第一天摘了多少个桃子?

分析:

设x为第x天,已知猴子第10天剩下一个桃子,那么可知第9天剩的桃子是第10天剩下数量+1,再总体×2,设第9天为x,那么第10天剩的桃子数为:f(x+1)有上述可推出 公式为:f(x) = (f(x + 1) + 1) * 2。
下面通过递归算法写出代码:

(代码main方法输出做了扩展,将10天到1天所有结果遍历输出)

代码:

递归方法:

public static int f(int n){
        if (n == 10) {
            return 1;
        } else {
            return (f(n + 1) + 1) * 2;
        }
    }

main方法

public static void main(String[] args) {
        for (int i = 10; i > 0; i--) {
            System.out.println("第"+i+"天剩:"+f(i)+"个果子。");
        }
    }

运行结果:

第10天剩:1个果子。
第9天剩:4个果子。
第8天剩:10个果子。
第7天剩:22个果子。
第6天剩:46个果子。
第5天剩:94个果子。
第4天剩:190个果子。
第3天剩:382个果子。
第2天剩:766个果子。
第1天剩:1534个果子。

Original: https://www.cnblogs.com/zhangyouren/p/16460002.html
Author: Haziy
Title: 猴子吃桃(递归)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622126/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Docker三种文件系统总结

    概述 容器持久化,相比小伙伴都不陌生。通过Docker的volume,我们可以非常方便的实现容器数据的持久化存储。但volume之下的文件系统,相比许多小伙伴并不是非常清楚。因而本…

    数据库 2023年6月11日
    0144
  • 阿里慢SQL治理5大经典案例

    菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql。这里把治理过程中的一些实践拿出来分享下。 一、全表扫…

    数据库 2023年5月24日
    0127
  • ShardingSphere 云上实践:开箱即用的 ShardingSphere-Proxy 集群

    本次 Apache ShardingSphere 5.1.2 版本更新为大家带来了三大全新功能,其中之一即为使用 ShardingSphere-Proxy chart 在云环境中快…

    数据库 2023年6月16日
    086
  • leetcode 1110. Delete Nodes And Return Forest 删点成林(中等)

    一、题目大意 给出二叉树的根节点 root,树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成…

    数据库 2023年6月16日
    0104
  • Spring5完整版详解

    1、Spring 1.1简介 2002,首次退出来Spring框架的雏形:interface21框架 Spring框架即以interface21框架为基础,经过重新设计,并不断丰富…

    数据库 2023年6月16日
    084
  • Jmeter性能测试场景的创建和运行

    目录 性能测试场景的分析 项目背景 Jmeter指标 性能测试场景的设计以及准备 * 性能测试的总结 性能测试场景的分析 项目背景 ​ 实际工作中,我们拿到一个项目一般来说都会是项…

    数据库 2023年6月6日
    093
  • 操作线程的方法

    操作线程的方法操作线程有很多方法,这些方法可以使线程从某一种状态过渡到另一种状态。 线程的休眠能控制线程行为的方法之一是调用sleep()方法,sleep()方法可以指定线程休眠的…

    数据库 2023年6月16日
    083
  • Python 学习笔记(七)–socket

    1.网络七层模型及主要协议 2.TCP的”三次握手”和四次挥手 三次握手 Step1:首先客户端向服务器端发送一段TCP报文; Step 2:服务器端接收到…

    数据库 2023年6月16日
    0117
  • 通过NTFS日志分析文件的时间属性是否被篡改

    前期准备 NTFS日志记录了什么东西? NTFS日志会记录NTFS文件系统中文件的创建、修改、增加数据、删除等操作执行的时间,虽说这个日志也可以被第三方程序修改,但仍然可以作为一个…

    数据库 2023年6月11日
    096
  • MYSQL/Oracle中常用函数总结

    记录在日常工作或者学习中中使用到的函数,以下是做一个备忘~ MySQL: 窗口函数: 原文地址:https://zhuanlan.zhihu.com/p/92654574 1、窗口…

    数据库 2023年6月14日
    0107
  • MySql用户与权限控制

    MySql用户与权限控制 — 刷新权限命令 # — 刷新mysql权限命令 flush privileges; 用户管理 1、查看用户 #查看用户 USE mysql…

    数据库 2023年6月11日
    086
  • 【StoneDB研发日志】列式存储 delete方案调研

    MySQL删除数据的方式 以MySQL 5.7为例,数据库删除数据的方式一共有以下三种: delete truncate drop 三种方式都可以删除数据,但使用场景有所不同。 […

    数据库 2023年5月24日
    096
  • linux-centos常用命令

    01-centos-常用命令 1.centos防火墙 关闭 systemctl stop firewalld 禁止开机启动防火墙 systemctl disable firewal…

    数据库 2023年6月11日
    098
  • [Mysql]Ubuntu如何安装Mysql+启用远程连接[完整版]

    嗯。以下是我踩了好几个小时的所有坑总结出来的血泪史。我希望我能帮你少踩几个坑。正常情况下,一步一步地,不会有任何问题。 [En] Yeah. The following is th…

    数据库 2023年5月24日
    0102
  • 多商户商城系统功能拆解25讲-平台端分销申请

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    081
  • 多商户商城系统功能拆解29讲-平台端营销-会员签到

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球