首页 > 其他分享 >zzuli1055: 兔子繁殖问题

zzuli1055: 兔子繁殖问题

时间:2024-07-28 17:24:42浏览次数:14  
标签:一对 int 兔子 小兔子 zzuli1055 繁殖 x2 x1

题目描述
这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?
输入

输入月数n(1<=n<=44)。

输出

输出第n个月有多少对兔子。

样例输入

3

样例输出

2

本题是一个经典的递推入门题目: 用f(n)表示第n个月的兔子数目,则: f(n) = f(n-1) + 本月新生兔子数 而,本月新生兔子数 = f(n-2) (因为上上个月已存在的每只兔子,本月都会新生一只兔子) 所以,f(n) = f(n-1) + f(n-2) 这就是著名的fabinacci数列,后一项等于前两项的和: 1 1 2 3 5 8…

代码如下

#include<stdio.h>

int main()
{
	int n,i,x,x1,x2;
	scanf("%d",&n);
    x1 = x2 = 1;
	if(n==1||n==2)//第1个月和第2个月都是1对兔子
		printf("1");
	else
	{
		for(i=3;i<=n;i++)//从第3个月开始每个月的数量等于前两个月的和
		{
			x = x1+x2;
			x1 = x2;
			x2 = x;
		}
		printf("%d",x);
	}
	return 0;
}

标签:一对,int,兔子,小兔子,zzuli1055,繁殖,x2,x1
From: https://blog.csdn.net/The_South_/article/details/140752108

相关文章

  • [Tkey] 黑兔子,白兔子
    CL-21一般拿到这个题第一眼都应该能看出并查集,subtask1是给并查集暴力修改的.后面subtask2没有联通操作,是给纯线段树的,也算是启发正解了再往下可以考虑操作\(1\)采用线段树区间修改,操作\(2\)采用并查集维护的思路.按这个思路去想,那么操作\(2\)肯定不能进行修改,因为我......
  • 华为OD机考题(HJ37 统计每个月兔子的总数)
    前言经过前期的数据结构和算法学习,开始以OD机考题作为练习题,继续加强下熟练程度。描述有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。一月的时候有一只兔子,假......
  • P4688 Ynoi2016 掉进兔子洞
    P4688Ynoi2016掉进兔子洞经典莫队加bitset。思路不难发现最终答案就是:\[(r_1-l_1+1)+(r_2-l_2+1)+(r_3-l_3+1)-3\timessize\]其中\(size\)表示3个区间内出现了多少个公共元素。看到这么多区间,不妨有把区间拆下来搞莫队的想法。先不考虑询问个数的限制,我们考虑使用......
  • 【递推】兔子繁殖问题
    题目描述如果有一对小兔,每一个月都生下一对小兔,而所生下的每一对小兔在出生后的第三个月也都生下一对小兔。那么,由一对兔子开始,n个月后有多少对小兔子呢?输入输入一个数字n(1≤n≤100),代表题目中询问的月份。输出对于每个询问,输出一行整数,代表n月的时候,小兔子的数量。......
  • 「杂题乱刷」洛谷 P10468 兔子与兔子
    题目链接P10468兔子与兔子解题思路字符串哈希板子题。思路就是我们给字符串的每一个前缀和后缀都用一种特定的方式使其变为一个值,比如取一个乘数和模数,可以证明这样出错的概率极低。参考代码这里使用自然溢出三哈希。#include<bits/stdc++.h>usingnamespacestd;#defin......
  • C117 莫队配合 bitset P4688 [Ynoi2016] 掉进兔子洞
    视频链接:C117莫队配合bitsetP4688[Ynoi2016]掉进兔子洞_哔哩哔哩_bilibili   LuoguP4688[Ynoi2016]掉进兔子洞//莫队配合bitsetO(n*sqrt(n))#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<bitset>usin......
  • 1238 - 【入门】统计每个月兔子的总数
    题目描述有一对兔子,从出生后第3个月起每个月都生一对兔子,一对小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月(n<=50)的兔子总数为多少对?输入:输入1个整数n,表示第几个月输出:第n个月兔子的总数量有多少对?样例:输入9输出34#include<bits/stdc++.h>usi......
  • 习题4-11 兔子繁衍问题
    探索--题目集索引一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行......
  • 二维数组_细菌的繁殖与扩散
    任务描述在边长为9的正方形培养皿中,正中心位置有m个细菌。假设细菌的寿命仅一天,但每天可繁殖10个后代,而且这10个后代,有两个分布在原来的单元格中,其余的均匀分布在其四周相邻的八个单元格中。求经过n(1≤n≤4)天后,细菌在培养皿中的分布情况。输入格式:输入为两个整数,第一个整......
  • (斐波那契数列),假如兔子都不死,问到第12个月时一共有多少只兔子 //(有一对兔子,从出生后第
    //斐波那契数列,计算兔子的数量:11235813......从第三个数开始,//后一个数都是前两个数的和,假如兔子都不死,问到第12个月时一共有多少只兔子//(有一对兔子,从出生后第三个月开始,每一个月生一对兔子,小兔子同理)publicclassRabitDemo1{//斐波那契数列,计算兔子的数量:1......