爆炸的兔子

本文介绍了一个经典的兔子繁殖问题,通过动态规划算法解决小白兔数量随时间增长的问题,并给出了一种有效的算法实现方式。

爆炸的兔子
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description

   小铁养了一只小白兔,一只成熟的兔子每天能产下一胎兔子。每只小白兔从出生起算第三天才会开始产下新兔子。 某人领养了一只小白兔,请问第N天以后,他将会得到多少只兔子。因为这品种的兔子繁殖能力太高,小铁的兔子窝也有限,超过一百万只兔子时,只会留下后六位 数量的兔子,其余的百万只兔子会被送出。

注意n的范围 每次都跑n次会超时 在输入之前处理出来

PS:留下后六位 即ans = ans%1000000(ans 为最终答案) 注意中间过程每一步都要取余!
Input

输入有多组数据。

每组数据一行,包含一个整数n (1≤n≤100000)。
Output

对应每一组输入,输出第n天小白有多少只小白兔。
Sample Input

1
2
3
4
Sample Output

1
2
3
5
Hint

Source

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

int main()
{
    int a[100001],i,n;
        a[1]=1;a[2]=2;a[3]=3;
    for(i=4;i<=100000;i++)//这里i要小于某一具体数值,不能为n,不然会超时
    {
        a[i]=(a[i-1]+a[i-2])%1000000;
    }
     while(scanf("%d",&n)!=EOF)
     printf("%d\n",a[n]);
  return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值