当前位置: 首页 > 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; // 程序正常结束
}

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

相关文章:

  • 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 普及组] 图书管理员
  • 图集︱“中国排面”威武亮相
  • 方正证券总裁何亚刚到龄退休,54岁副总裁姜志军接棒
  • 比特币价格时隔三个月再度站上10万美元
  • 司法部:加快研究制定行政执法监督条例,建立完善涉企行政执法监督长效机制
  • 特色业务多点开花,苏州银行擦亮金融为民底色
  • 上海发布大风黄警:预计未来24小时内将出现8-10级大风