A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 眯眯神 中级黑马   /  2016-3-24 09:02  /  546 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 眯眯神 于 2016-3-24 09:11 编辑

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

3 个回复

倒序浏览
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;  
}  
回复 使用道具 举报
1,1,2,3,5,8,13,21这是规律,前两月相加等于下个月的
回复 使用道具 举报
斐波那契数列
用递归就可以
int method(int day){
    if(day==1 || day==2)
        return 1;
    else
        return method(day-2) + method(day-1);
}
int main()
{
   int day = 12;                           //天数
   print("第%d个月月兔子数量为:%d对\n",day,method(day);)        
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马