大厂Java笔试题之统计兔子出生问题

题目:有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。  例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。  一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?  数据范围:输入满足  1≤n≤31  输入描述: 输入一个int型整数表示第n个月  输出描述:  输出对应的兔子总数

 例如,输入3,输出2 

看到这个题目,首先先按题意列出前几年的情况,得到如下数据:

public class Demo11 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            System.out.println(countRabbits(a));
        }
    }

    public static int countRabbits(int n) {
        if (n < 1 || n > 31) {
            throw new IllegalArgumentException("Input value must be between 1 and 31 inclusive.");
        }

        // 初始两个月兔子数量分别为1和1
        int previous = 1;
        int current = 1;

        // 从第三个月开始计算兔子总数
        for (int month = 3; month <= n; month++) {
            // 计算下一个月的兔子总数为前两个月之和
            int next = previous + current;

            // 更新前两个月的兔子数量
            previous = current;
            current = next;
        }

        // 返回第n个月的兔子总数
        return current;
    }
}

  如果大家需要视频版本的讲解,欢迎关注我的B站:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/542113.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3 vueUse 连接蓝牙

目录 vueuse安装&#xff1a; useBluetooth: 调用蓝牙API 扫描周期设备 选择设备配对 连接成功 vue3的网页项目连接电脑或者手机上的蓝牙设备&#xff0c;使用vueUse库&#xff0c;可以快速检查连接蓝牙设备。 vueUse库使用参考&#xff1a; VueUse工具库 常用api-CSDN…

ES6: promise对象与回调地狱

ES6&#xff1a; promise对象与回调地狱 一、回调地狱二、Promise概述三、Promise的组成四、用函数封装Promise读取文件操作 一、回调地狱 在js中大量使用回调函数进行异步操作&#xff0c;而异步操作什么时候返回结果是不可控的&#xff0c;所以希望一段程序按我们制定的顺序执…

中国省级人口结构数据集(2002-2022年)

01、数据简介 人口结构数据不仅反映了地域特色&#xff0c;更是预测地区未来发展趋势的重要工具。在这些数据中&#xff0c;总抚养比、少年儿童抚养比和老年人口抚养比是三大核心指标。 少儿抚养比0-14周岁人口数/15-64周岁人口数 老年抚养比65周岁及以上人口数/15-64周岁人…

Python | Leetcode Python题解之第27题移除元素

题目&#xff1a; 题解&#xff1a; class Solution:def removeElement(self, nums: List[int], val: int) -> int:a 0b 0while a < len(nums):if nums[a] ! val:nums[b] nums[a]b 1a 1return b

2023数据要素白皮书(免费下载)

【1】关注本公众号&#xff0c;转发当前文章到微信朋友圈 【2】私信发送 【2023年数据资源入表白皮书】 【3】获取本方案PDF下载链接&#xff0c;直接下载即可。 如需下载本方案PPT原格式&#xff0c;请加入微信扫描以下方案驿站知识星球&#xff0c;获取上万份PPT解决方案&a…

03 Git 之 远程仓库 + IDEA 集成使用 GitHub

1. 远程仓库 origin&#xff1a;即远程仓库 url 的指代。 从网上随意 clone 一个仓库&#xff0c;进入 .git/config 文件, 即可编辑远程仓库的 url&#xff0c;也可以自定义想要指代该 url 的名词。 1.1 本地仓库绑定远程仓库 并 推送、拉取 git remote add 【想要起的指代…

Gradle 实战 - 启动main函数-ApiHug准备-工具篇-012

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

RocketMQ底层原理及性能调优实战(二)

目录 1、RocketMQ源码分析 1-1、读源码前的思考 1-2、RocketMQ整体架构及连通性 1-3、RocketMQ核心组件及整体流程 1-4、NameServer源码分析 1-4-1、RocketMQ核心组件及整体流程 1-4-2、NameServer启动流程概要 1-4-3、Broker启动流程概要 1-4-4、Topic路由注册、剔除…

SpringBoot3整合Mybatis plus

Java版本&#xff1a;17 Spring Boot版本&#xff1a;3.1.10 Mybatis plus版本&#xff1a;3.5.5 源码地址&#xff1a;Gitee仓库 01 创建我们的项目工程 首先&#xff0c;我们创建一个maven工程spring-boot3-demo&#xff0c;pom文件配置如下。 这里我们将spring-boot-start…

AUTOSAR-COMStack-002_Update-Bit 机制

最近在工作中第一次使用了AUTOSAR COM Update-Bit功能&#xff0c;对使用了Update-Bit功能信号的使用&#xff0c;不能得心应手&#xff0c;发送信号比较顺利&#xff1b;测试接收信号功能时&#xff0c;对应的RTE接口始终不能接收到对应的模拟发送的信号值&#xff0c;后来翻阅…

004Node.js常用快捷键

1.常用的终端命令&#xff1a; &#xff08;1&#xff09;del 文件名&#xff1a; 删除文件 &#xff08;2&#xff09;ipconfig: 查看IP命令 &#xff08;3&#xff09;mkdir 目录名 &#xff1a;在当前目录新建指定目录 &#xff08;4&#xff09;rd 目录名&#xff1a;在当前…

Leetcode算法训练日记 | day25

一、组合总和Ⅲ 1.题目 Leetcode&#xff1a;第 216 题 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺…

标准孔板简单适应性强

即使生活一地鸡毛&#xff0c;但仍然要觉得未来可期&#xff0c;做自己而不是解释自己&#xff0c;只要能变好&#xff0c;慢点又如何&#xff0c;愿我们都是苦尽甘来的人&#xff0c;熬得住就出众&#xff0c;熬不住就出局&#xff0c;鹤壁永成矿山&#xff0c;在行业坚持十余…

tested4142

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

Stacked Hourglass Networks for Human Pose Estimation 用于人体姿态估计的堆叠沙漏网络

Stacked Hourglass Networks for Human Pose Estimation 用于人体姿态估计的堆叠沙漏网络 这是一篇关于人体姿态估计的研究论文&#xff0c;标题为“Stacked Hourglass Networks for Human Pose Estimation”&#xff0c;作者是 Alejandro Newell, Kaiyu Yang, 和 Jia Deng&a…

mysql题目4

tj11&#xff1a; select count(*) 员工总人数 from tb_dept a join tb_employee b on a.deptnob.deptno where a.dname 市场部

Github 2024-04-14 php开源项目日报Top9

根据Github Trendings的统计,今日(2024-04-14统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目9TypeScript项目1Laravel: 以优雅语法简化Web开发 创建周期:4028 天开发语言:PHP协议类型:MIT LicenseStar数量:30824 个Fork数量:1…

[大模型] BlueLM-7B-Chat WebDemo 部署

BlueLM-7B-Chat WebDemo 部署 模型介绍 BlueLM-7B 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型&#xff0c;参数规模为 70 亿。BlueLM-7B 在 C-Eval 和 CMMLU 上均取得领先结果&#xff0c;对比同尺寸开源模型中具有较强的竞争力(截止11月1号)。本次发布共包含 7…

ASP.NET MVC使用Layui选择多图片上传

前言&#xff1a; 多图上传在一些特殊的需求中我们经常会遇到&#xff0c;其实多图上传的原理大家都有各自的见解。对于Layui多图上传和我之前所说的通过js获取文本框中的文件数组遍历提交的原理一样&#xff0c;只不过是Layui中的upload.render方法已经帮我们封装好了&#x…

微信跳转页面时发生报错

报错如下图所示&#xff1a; 解决方法&#xff1a;&#xff08;从下面四种跳转方式中任选一种&#xff0c;哪种能实现效果就用哪个&#xff09; 带历史回退 wx.navigateTo() //不能跳转到tabbar页面 不带历史回退 wx.redirectTo() //跳转到另一个页面wx.switchTab() //只能…