当前位置: 首页 > news >正文

2025-03-22 学习记录--C/C++-PTA 习题4-11 兔子繁衍问题

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

习题4-11 兔子繁衍问题

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?

输入格式:
输入在一行中给出一个不超过10000的正整数N。

输出格式:
在一行中输出兔子总数达到N最少需要的月数。

输入样例:

30

输出样例:

9

二、解题思路 ⭐️

1234567
对数11235813

除 第1个月 外,当前月的对数 = 前两个月的对数之和。👉🏻 斐波那契数列

三、代码(C语言)⭐️

/** 
* 斐波那契数列:
*    月:  1  2  3  4  5  6  7...
*    对数: 1  1  2  3  5  8  13...
*    除第1个月外,当前月的对数 = 前两个月的对数之和
*/
#include <stdio.h>  // 引入标准输入输出库,用于使用 scanf 和 printf 函数

int main() {
    int n; // 定义变量 n,用于存储目标兔子对数
    scanf("%d", &n); // 读取目标兔子对数 n

    // 单独处理第1个月的情况
    if (n == 1) { // 如果目标兔子对数为 1
        printf("1\n"); // 直接输出 1
        return 0; // 程序结束
    }

    int prev2 = 0; // 定义变量 prev2,表示上上个月的兔子对数,初始为 0
    int prev1 = 1; // 定义变量 prev1,表示上个月的兔子对数,初始为 1
    int curr = 1;  // 定义变量 curr,表示当前月的兔子对数,初始为 1
    int month = 2; // 定义变量 month,表示当前月数,初始为 2

    // 计算兔子对数,直到达到或超过目标对数 n
    while (curr < n) { // 当 当前月的兔子对数 小于 目标对数 时,继续循环
        prev2 = prev1; // 更新 上上个月的兔子对数 为 上个月的对数
        prev1 = curr;  // 更新 上个月的兔子对数 为 当前月的对数
        curr = prev2 + prev1; // 计算当前月的兔子对数,等于前两个月对数之和
        month++; // 月数加 1
    }

    // 输出达到目标兔子对数所需的最少月数
    printf("%d", month);

    return 0; // 程序正常结束
}

在这里插入图片描述
在这里插入图片描述


文章转载自:
http://bec.hdqtgc.cn
http://built.hdqtgc.cn
http://arsphenamine.hdqtgc.cn
http://both.hdqtgc.cn
http://adenitis.hdqtgc.cn
http://bemaul.hdqtgc.cn
http://catarrhal.hdqtgc.cn
http://christopher.hdqtgc.cn
http://barkeeper.hdqtgc.cn
http://airland.hdqtgc.cn
http://apophysis.hdqtgc.cn
http://cathar.hdqtgc.cn
http://accumulative.hdqtgc.cn
http://albiness.hdqtgc.cn
http://afrikander.hdqtgc.cn
http://annunciation.hdqtgc.cn
http://canopy.hdqtgc.cn
http://allusion.hdqtgc.cn
http://alveolitis.hdqtgc.cn
http://agent.hdqtgc.cn
http://assemble.hdqtgc.cn
http://arrogation.hdqtgc.cn
http://agger.hdqtgc.cn
http://arctic.hdqtgc.cn
http://anurous.hdqtgc.cn
http://amatory.hdqtgc.cn
http://audiotyping.hdqtgc.cn
http://bratty.hdqtgc.cn
http://bronchoscope.hdqtgc.cn
http://autofining.hdqtgc.cn
http://www.dtcms.com/a/84972.html

相关文章:

  • 2025新版懒人精灵零基础安装调试+lua基础+UI设计交互+常用方法封装+项目实战+项目打包安装板块-视频教程(初学者必修课)
  • Linux中动静态库的创建与原理
  • Electron Forge【实战】桌面应用 —— AI聊天(上)
  • 遨游三防 | IP68热成像三防平板,助力电力智慧巡检
  • git推送代码相关学习——(一)
  • Flutter中常用命令
  • 区块链(Blockchain)—— 概念、架构与应用
  • 信奥赛CSP-J复赛集训(模拟算法专题)(27):P5016 [NOIP 2018 普及组] 龙虎斗
  • 基于AWS Endpoint Security(EPS)的混合云统一安全管理
  • java牛排烧烤技术
  • 标题word技巧 :匹配所有的 [数字],替换成上标
  • centos7安装单机zookeeper
  • arm linux下的读写信号量rw_semphore的实现
  • macOS 使用 enca 识别 文件编码类型(比 file 命令准确)
  • C++ 项目实战书店销售记录统计程序(十)
  • 论文阅读:2023 arxiv Provable Robust Watermarking for AI-Generated Text
  • tryhackme——The Lay of the Land
  • Wi-Fi NAN 架构(Wi-Fi Aware Specification v4.0,第2章:2.3~2.6)
  • 大数据学习栈记——HBase操作(shell java)
  • 信奥赛CSP-J复赛集训(模拟算法专题)(25):P3955 [NOIP 2017 普及组] 图书管理员
  • 计算机网络基础之三种交换技术及其性能分析
  • 六十天前端强化训练之第二十四天之Vue 模板语法与 v-for 指令大师级详解
  • 【Linux之Shell脚本实战】Linux服务器输出美观漂亮的html巡检报告
  • 使用Docker部署RabbitMQ
  • 电子学会—2023年12月青少年软件编程(图形化)三级等级考试真题——打砖块游戏
  • 【SpringCloud】OpenFeign
  • 腾讯云宝塔安装ffmpeg
  • vue 对接 paypal 订阅和支付
  • Android10 系统截屏功能异常的处理
  • DeepSeek算力服务器的选型--青岛佰优联创新科技有限公司