兔子繁衍问题(PTA)
兔子繁衍问题
题目描述
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
输入格式:
输入在一行中给出一个不超过10000的正整数N。
输出格式:
在一行中输出兔子总数达到N最少需要的月数。
输入样例:
30
结尾无空行
输出样例:
9
结尾无空行
思路:
看到这道题目,我们很容易想到这是斐波那契数列的变形,刚开始有两个(1对)兔子,后来经过三个月后变成2对(一对新的一对老的),到第四个月的时候3对(2对老的1对新的),第五个月5对(2对新的3对老的)。。。由于本题目是针对月份判断经过几个月达到多少对兔子,所以我们可以套用斐波那契数列的公式:
return tuzi(n-1)+tuzi(n-2);
其中兔子是我们写的方法,参数是月份数;
详细代码(java):
import java.util.Scanner;public class Main {public static int n=1;public static int tuzi(int n){if((n==1)||(n==2)){return 1;}else{return tuzi(n-2)+tuzi(n-1);}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int sum=sc.nextInt();while(true){if(tuzi(n)>=sum){break;}n++;}System.out.println(n);}
}
详细代码(C++)
#include<bits/stdc++.h>
using namespace std;
int n=1;
int tuzi(int n){if((n==1)||(n==2)){return 1;}else{return tuzi(n-1)+tuzi(n-2);}
}
int main(){int sum;cin>>sum;while(true){if(tuzi(n)>=sum){break;}n++;}cout<<n;return 0;
}
详细代码(C语言)
#include<stdio.h>
int main()
{int x,i;int a=2, b=0, c=0;scanf("%d", &x);if (x > 1){for (i = 1; c < x; i++){c = a + b;b = a;a = c;}printf("%d", i+1);}elseprintf("1");return 0;
}
本体比较简单,主要利用了斐波那契数列的知识。
兔子繁衍问题(PTA)相关推荐
- PTA习题4-11 兔子繁衍问题 (15 分)-好容易入坑
综述: 刷了40多道题,论最坑爹的一道题我认为非兔子繁衍莫属,我刷这道题花了一整个下午,自认为我是对的,但是上传到PTA总是部分正确,最后屈服了在网上搜了下,最后终于发现问题:就是如何才算3个月,我所 ...
- 实验4-1-10 兔子繁衍问题 (15 分)
实验4-1-10 兔子繁衍问题 (15 分) 一对兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对兔子.假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月 ...
- matlab兔子繁殖问题,斐波那契数列在《疯狂动物城》兔子繁衍中的应用
摘 要: 计算思维的构建有助于帮助学生将实际问题转换为透明易懂的框架算法, 并借助计算机解决.以电影<疯狂动物城>中的兔子繁殖问题为例, 引出斐波那契数列, 引导学生将数学表达式转化 ...
- 兔子繁衍问题--C语言
兔子繁衍问题--C语言 问题提出 一对兔子,从出生后第三个月起每个月都生一对兔子.小兔子长到第三个月后每个月又生一对兔子.假如兔子都不死,请问第一个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才 ...
- C语言 兔子繁衍问题
兔子繁衍问题 问题描述: 一对兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对兔子.假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到 ...
- 7-10 兔子繁衍问题
7-10 兔子繁衍问题 (15 分) 一对兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对兔子.假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总 ...
- c语言兔子繁衍问题递归,一对
参考文献:https://spring.io/blog/2018/09/24/spring-data-jdbc-references-and-aggregates 1.多对多关系处理 场景介绍:一个人 ...
- 习题4-11 兔子繁衍问题 | 浙大版《C语言程序设计(第3版)》题目集
习题4-11 兔子繁衍问题 一对兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对兔子.假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达 ...
- PTA 兔子繁衍问题
一对兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对兔子.假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对? 输入格式: 输入在 ...
最新文章
- Mybatis的修改列与重命名
- 逻辑判断 java_写 JS 逻辑判断,不要只知道用 if-else 和 switch
- Diango博客--10.交流的桥梁“评论功能”
- switch芯片和phy芯片的区别_感应式芯片卡CPU卡的FM1208-9和FM1208-10有什么区别,你知道吗?...
- Debian Qualcomm Atheros QCA61x4 Wireless Network Adapter - 网卡驱动
- 关于IP转换器无法正常启动的问题
- xshell中svn命令整理
- ctfshow 做题 MISC入门 模块 21~30
- win10电脑自带的office突然变成英文解决办法
- Python 代码实现ArcGis 标注Label转注记Annotation
- 在广告文案中的最有诱惑力的十个词
- 推荐系统组队学习之概述
- LCD CrossTalk 异常原因以及解决手法
- 校园闲置物品(跳蚤市场)交易平台的设计与实现
- 农产品销售系统的设计与实现
- php类中遍历中的rewind方法,PHP rewind( )用法及代码示例
- vue项目,报错This is probably not a problem with npm,there is likely additional logging output above
- brew 一直等待_等待幸福作文小学生5篇2020年
- 大学计算机专业毕业之后,从事人工智能或大数据,继续考研还是参加工作?
- 罗马是怎么建成的:Towards ChatGPT and Beyond