黑马程序员技术交流社区
标题:
分享一道关于算法的笔试题
[打印本页]
作者:
苏浩
时间:
2014-10-21 08:56
标题:
分享一道关于算法的笔试题
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
作者:
atlas
时间:
2014-10-21 09:16
程序分析:
第一个月-----------------1
第二个月-----------------1
第三个月-----------------2
第四个月-----------------3
第五个月-----------------5
第六个月-----------------8
第七个月-----------------13
... ...
从中发现,从第三个月开始,前两个月兔子数之后为第三个兔子总数,所以定义一个存放24个月兔子书数组,每个元素存放一个月的兔子总数
#include <stdio.h>
int main()
{
int m[23];
int i;
m[0]=m[1]=1;
for (i=0; i<24; i++) {
if (i==0 || i==1) {
printf("第%d个月月兔子数量为:1对\n",i+1);
}
else {
m[i]=m[i-1]+m[i-2];
printf("第%d个月月兔子数量为:%d对\n",i+1,m[i]);
}
}
return 0;
}
复制代码
作者:
十万一千
时间:
2014-10-21 13:02
http://bbs.itheima.com/thread-149251-1-1.html
不知道我和上楼结果是一样的没
作者:
如梭的日月
时间:
2014-10-21 13:06
递归思想
作者:
十万一千
时间:
2014-10-21 13:17
atlas 发表于 2014-10-21 09:16
程序分析:
第一个月-----------------1
第二个月-----------------1
这种用数组存储数列的思路真心不错:)
作者:
new999
时间:
2014-10-21 14:28
加油~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2