您的位置:首页 > 编程语言 > C语言/C++

C语言_递归算法-奶牛生子问题

2015-03-28 19:39 471 查看
//一只刚出生的奶牛,4年生1只奶牛,以后每一年生1只。现在给你一只刚出生的奶牛,求20年后有多少奶牛。

int cowNum(int year){
   
int n =0;
   
int sumCow = 1; 
//奶牛总数
   
for(n = 1; n <= year; n++){
       
if(n >= 4){ 
//4年以后奶牛数量开始增多
           
if((year - n) > 3){ 
//第2个4年开始后产的奶牛开始生新奶牛
                sumCow +=
cowNum(year - n);
            }
else {
                sumCow++;
            }
        }
    }
   
return sumCow;   
//返回奶牛总数
}
int main(int argc,
const char * argv[]) {
   
int year =0;

    printf("Please input require years:\n");
   
scanf ("%d", &year); 
//输入年数
   
printf("%d年后,会有%d头奶牛.\n",
year, cowNum(year)); 
//输出结果
   
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: