某农场有一头小奶牛,过了4年后,小奶牛长大了,变成了大奶牛,并生了一只小奶牛。
之后的每一年大奶牛都会生一只小奶牛,而每过四年小奶牛就会长成大奶牛,长成大奶牛后又可以生小奶牛。
请问20年后,此农场一共有多少头牛?
//某农场有一只刚出生的奶牛,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 year =0;
printf("Please input require years:\n");
scanf ("%d", &year); //输入年数
printf("%d年后,会有%d头奶牛.\n", year, cowNum(year)); //输出结果
getchar();
getchar();
return 0;
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!