首页 > 其他分享 >兔子产子问题

兔子产子问题

时间:2023-04-12 11:25:16浏览次数:31  
标签:f1 f2 cout 产子 int 兔子 问题 include

兔子产子问题:

有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总数为多少?

根据题意列出表格:

根据表格分析出第一,二月兔子总数为1,从第三月开始兔子总数等于该月前面两个月兔子总数之和。

解题思路:

运用数组的知识,给a[1]以及a[0]赋值,利用a[i]=a[i-1]+a[i-2]算出每个月的总数,数组的下表等于月数减1,按照规定的格式输出每月的总数即可。

代码:

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

    int a[30]={1,1};\\前两个月总数赋值

    cout<<setw(12)<<a[0]<<setw(12)<<a[1];\\按格式输出前两个月总数

    int temp=2;\\记录数据来输出换行

    for(int i=2;i<30;i++)\\根据前两个月总数求每月总数

    {

        a[i]=a[i-1]+a[i-2];

        temp++;

        cout<<setw(12)<<a[i];

        if(temp%4==0)

        {

            cout<<endl;

            temp=0;

        }

    }

    return 0;

}

 

解题思路:

利用迭代法求出每个月的总数并直接输出

代码:

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

    int f1=1,f2=1,f;

    cout<<setw(12)<<f1<<setw(12)<<f2;

    for(int i=3;i<31;i++)

    {

        f=f1+f2;

        cout<<setw(12)<<f;

        f1=f2;

        f2=f;

        if(i%4==0)

        cout<<endl;

    }

    return 0;

}

 

拓展:

仅利用f1与f2来储存月份的兔子总数

代码:

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

    int f1=1,f2=1;

    for(int i=1;i<16;i++)

    {

        cout<<setw(12)<<f1<<setw(12)<<f2;

        f1=f1+f2;

        f2=f1+f2;

        if(i%2==0)

        cout<<endl;

    }

    return 0;

}

 

该题体会:利用数组可以储存数据在需要时利用,学会了迭代法的利用以及如何改善迭代法

 

标签:f1,f2,cout,产子,int,兔子,问题,include
From: https://www.cnblogs.com/zljzy/p/17309196.html

相关文章

  • 记一次kvm虚机mysql数据库磁盘扩容操作步骤及其问题小坑
    背景:业务量持续增加,原来规划的1T磁盘空间不足以支撑业务发展存储使用,需要对数据库磁盘进行扩容。目前物理机有新增了2块3.5Tssd的数据盘用于数据库虚机磁盘扩容使用。需要安排时间对其进行操作扩容。操作思路:1、完成磁盘raid1操作,将新磁盘挂载到物理机上并添加到kvm的存储空间......
  • 解决linux系统的kdump服务无法启动的问题
    问题:项目麒麟系统服务器的kdump服务无法启动,没有相关日志无法定位问题。1、查看服务状态是关闭的,重启系统也无法启动systemctlstatuskdump2、修改grub参数,修改“crashkernel”为“512M(有的机器数值太大太小都会导致报错,建议从128M开始试,或者加个high参数,如crashkernel=1024......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-场景问题智能生成从0到1快速入门——官网推荐
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • 【Serverless】云数据库端云一体化问题
     【关键字】AGC、HarmonyOS、端云一体化 【问题描述】开发者反馈在鸿蒙应用集成了AGC云数据库服务,在引入AGC服务时遇到了一些问题。具体如下所述:1、HarmonyOSArkTS语言开发,参数是number类型,但是查询的云数据库字段是Integer类型,这要怎么处理。2、样例中querybook的字段b......
  • 【AGC】崩溃服务数据上报常见的几个问题
    最近开发者使用崩溃服务遇到的一些数据异常问题,我在这里汇总一下,以后遇到相似的问题可以以此为参考。 【问题描述1】iOS崩溃数据“按用户搜索”页,“过去7天”是有数据的,但“统计”页没有。​​【解决方案】查询了后台上报日志,发现没有上报应用的启动事件,只上报了$HA_ERRO......
  • 归并排序-使用归并排序实现小和问题-java实现
    什么是归并排序归并排序(MergeSort)是一种基于分治思想的排序算法,它的基本思想是将待排序的序列不断地分割成两个子序列,直到每个子序列只有一个元素,然后再将这两个子序列合并成一个有序的序列。归并排序的基本步骤如下:1.将待排序序列分成两个子序列,分别进行排序。2.将两个已排......
  • 2023-04-11 无向图的匹配问题
    无向图的匹配问题之所以把无向图的这个匹配问题放到最后讲是因为匹配问题借鉴了有向图中一些算法的思想1最大匹配和完美匹配二分图回顾二分图:把一个图中的所有顶点分成两部分,如果每条边的两端分别属于不同部分,则这个图是二分图。更多二分图内容参考第4章二分图相关最大......
  • 约瑟夫环问题---&解题方法 静态单链表&一维数组
      importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);intn=input.nextInt();intm=input.nextInt();int[]ant=newint[150];for(int......
  • 牛客网一道素数问题
    我收回昨天的话,浪费时间或许不是能力问题,但是写出屎山,真真正正是能力问题今天编出来的程序破天荒地达到了34ms,然而大佬们都是1ms,于是点开大佬们的代码查看,发现他们的写法,他们使用的算法,寥寥几行代码,我看了半天不得其义,尝试着运行,非常流畅,让人目瞪口呆。多看一些代码之后,发现写法......
  • 如何处理HTTP 503故障问题?
    简述HTTP503故障问题在业务管理上很常见, 以问题的可能性也相当多, 故障时除了503提示, 好像什么也没有, 发生故障时应如何处理呢? 文章内会为大家详细说明什么是HTTP503就是网站打不开时, 展示503错误等内容,503的内容又从那里来的呢? 真实情况是客户已成功连上网站服务器......