c语言趣味编程(5)
一、问题描述
有一对兔子,从出生后的第 3 个月起每个月都生一对兔子。
小兔子长到第 3 个月后每个月又生一对兔子,假设所有的兔子都不死,问 30 个月内每个月的兔子总数为多少?
二、设计思路
(1)通过对前几个月的兔子总数进行分析,找出前n个月的兔子总数之前的规律;
(2)找出兔子总数的规律式子,求出答案;
(3)可以看出,每个月的兔子总数依次为 1,1,2,3,5,8,13…这就是 Fibonacci数列;
三、程序流程图
四、伪代码
五、代码
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int a[31] = { 0 }; 6 a[1] = 1; 7 a[2] = 1; 8 int count = 0; //用来控制换行字符的输出 9 int i; 10 for (i = 3; i <= 30; i++) 11 { 12 a[i] = a[i - 1] + a[i - 2]; 13 } 14 for (int j = 1; j <= 30; j++) 15 { 16 count++; 17 printf("%12d", a[j]); 18 if (count % 4 == 0) 19 { 20 cout << endl; 21 } 22 } 23 return 0; 24 }
运行结果:
六、总结
(1)如果一组元素之间存在某种关系,可以用数组来保存这组数据,可以用递归算出每个数据;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统