6 条题解
-
3
规律
- 第一个月兔兔对数:1
- 第二个月兔兔对数:1(成熟的兔兔)
- 第三个月兔兔对数:1(成熟的兔兔)+1(新生的兔兔崽崽)
- 第四个月兔兔对数:2(成熟的兔兔)+1(新生的兔兔崽崽)
- 第五个月兔兔对数:3(成熟的兔兔)+2(新生的兔兔崽崽)
- 第六个月兔兔对数:5(成熟的兔兔)+3(新生的兔兔崽崽)
……
**总结🎉️ **
第n个月新生的兔兔崽崽对数=第n-1个月成熟的兔兔
第n个月成熟的兔兔对数=第n-1个月成熟的兔兔+新生的兔兔崽崽
规律有了,递推走起🎉️
设第n个月的兔子为f(n),第n个月成熟的兔子为g(n),第n个月新生的兔兔崽崽为x(n)
那么f(n)=g(n)+x(n)=f(n-1)+f(n-2)
上代码!!!🎉️
cin >> n; f1 = f2 = 1; for(long long i = 3;i <= n;i++){ f3 = f2 + f1; f1 = f2; f2 = f3; } cout << f2;
题解不易,点个赞呗👍
-
0
#include <stdio.h> using namespace std; int main() { int f1 = 1; //f1为前一个月的兔子数 int f2 = 1; //f2为前两个月的兔子数 int n = 0; //n为这个月的兔子数 int i = 0; printf("%12d%12d", f1, f2); //输出第1.2月的兔子数 for (i = 3; i <= 20; i++) { n = f1 + f2; printf("%12d", n); if (i % 4 == 0) { printf("\n"); } f2 = f1; f1 = n; } printf("\n"); return 0; }
- 1
信息
- ID
- 238
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 543
- 已通过
- 159
- 上传者