黑马程序员技术交流社区

标题: 小学还是初中时候的经典题 [打印本页]

作者: 眯眯神    时间: 2016-3-24 09:02
标题: 小学还是初中时候的经典题
本帖最后由 眯眯神 于 2016-3-24 09:11 编辑

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
作者: yepeng0311    时间: 2016-3-24 09:45
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;  
}  
作者: 715596417    时间: 2016-3-24 10:42
1,1,2,3,5,8,13,21这是规律,前两月相加等于下个月的
作者: Mars凝云    时间: 2016-3-24 11:02
斐波那契数列
用递归就可以
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);)        
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2