高手啊!救救我!!!!!

wshuanggang 2008-09-29 05:15:47
本人小菜,有一到C++的题不会做,请各位给我好的算法。
题目:
已知一种老鼠的在出生后两月就可以繁殖,每只繁殖12只。问:现在给已知刚出生的老鼠,10个月后有多少只老鼠?
应该是个循环的函数语句,但是我想了下没有写出来。求各位帮帮忙!!在此谢谢了!
...全文
123 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
simon582 2008-10-04
  • 打赏
  • 举报
回复

#include<iostream>
#include<stdlib.h>
using namespace std;

int main(){
int n;
unsigned long long f[10];
scanf("%d",&n);
f[0] = f[1] = n;
for(int i=2;i<10;i++)
f[i] = f[i-1] + 12*f[i-2];

printf("%lld\n",f[9]);
system("pause");
return 0;
}


老鼠增长地非常快.. 我就偷懒用unsigned long long不写高精度了.. [ LZ没给出数据范围 ]
simon582 2008-10-04
  • 打赏
  • 举报
回复
貌似题目没有歧义吧. 成熟的老鼠每个月都可以繁殖(也就是出生两个月后的老鼠).

那么假设第一个月有n只老鼠(题目说了是刚出生的).

令f(i)为第i个月有老鼠f(i)只.

f(1) = n
f(2) = n
f(3) = n + 12n
f(4) = n + 12n + 12n (已成熟的老鼠可继续繁殖)
.
.
.
f(i) = f(i-1) + 12*f(i-2)

这个递推关系应该很直观. 第i个月的老鼠 = 上个月的老鼠f(i-1) + 新诞生的老鼠12*f(i-2) .

这样就完成了吧. 一个FOR循环就搞定了.


ps. 这也够叫动态规划么.. = = 档次似乎降得有点多..
OpenHero 2008-09-30
  • 打赏
  • 举报
回复
这一类的问题,学名叫做:动态规划
蒋剑波 2008-09-29
  • 打赏
  • 举报
回复
1,2,9,10月份出生的不能繁殖吧,一只老鼠一共才12只,这用递归,是否正确呢,值得思考一下.
stuarts740 2008-09-29
  • 打赏
  • 举报
回复
这种老鼠很诡异。。。。
hchen2008 2008-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mabo321 的回复:]
题目不确定,,,

如果 一只老鼠 刚繁殖了12只后,, 它还能繁殖吗?

能的话,那是2个月后和它的子女一起繁殖 还是 马上可以繁殖?

不能的话,这个题就显得没水平了。。。
[/Quote]

是啊,题目不明确啊
mabo321 2008-09-29
  • 打赏
  • 举报
回复
题目不确定,,,

如果 一只老鼠 刚繁殖了12只后,, 它还能繁殖吗?

能的话,那是2个月后和它的子女一起繁殖 还是 马上可以繁殖?

不能的话,这个题就显得没水平了。。。

qiu5208 2008-09-29
  • 打赏
  • 举报
回复
问题不明确.
老鼠出生两个月后是一生只能12只,还是以后每个月都12只呢?
kkndciapp 2008-09-29
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;

int stest(int i)
{
if(i==0)
return 1;
else
return 13*stest(i-1);
}

void main()
{
int num;
cin>>num;//输入12
cout<<stest(num/2);
}
wostianzuo 2008-09-29
  • 打赏
  • 举报
回复
汗,,,强烈建议楼主去看看Fibonacci函数去,,,看了就知道了,,一类的问题,,
lunarfan 2008-09-29
  • 打赏
  • 举报
回复
递归
baihacker 2008-09-29
  • 打赏
  • 举报
回复
用数学方法解第3种方法的递推式,还可以得到O(1)的算法.
baihacker 2008-09-29
  • 打赏
  • 举报
回复
1.用递归可以算出
2.用循环进行模拟可以算出
3.可以进行递推


这都是经典问题了.

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧