题目
解答
#include <stdio.h>
//递归解决奶牛生子问题
int CowsNum(int year){
int i =0;
long lCowsNum = 1; //奶牛总数
for(i=1; i<=year; i++){
if(i>=4){ //4年以后奶牛数量开始增多,i<4时只有一头奶牛
if((year-i)>3) //第2个4年开始后,儿子奶牛也开始生新奶牛了
lCowsNum += CowsNum(year-i); //年份减少1
else
lCowsNum++; //出生超过4年的奶牛每年生一只奶牛
}
}
return lCowsNum; //返回奶牛总数
}
void main(){
int year =0;
printf("请输入年数:");
scanf ("%d", &year);
printf("在第%d年,一共有%d只奶牛\n",year,CowsNum(year));
}