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;
}
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;
}
相关文章推荐
- C语言奶牛生子的问题(腾讯面试题)
- 整数划分问题的递归算法-c语言
- 整数划分问题的递归算法-c语言
- c++ 探讨奶牛生子的问题
- 递归算法——Hanoi(汉诺)问题(Java实现&C语言实现)
- [黑马程序员]04[c语言]递归算法的妙用, 捕鱼量算法问题
- 百炼-1321-棋盘问题-C语言-递归算法
- 递归算法基础 斐波那契问题几种实现方法 两个经典问题(兔子问题、奶牛问题)
- 奶牛生子问题(关键字,奶牛,生子,第4年,母牛,每年生一只,20年)
- 奶牛生子问题(腾讯面试题)
- 百炼-2815-城堡问题-C语言-递归算法
- c语言 递归算法解决汉诺塔问题
- C语言的递归算法--猴子摘桃问题
- 整数划分问题的递归算法-c语言
- 关于c语言中printf的几个问题
- 使用递归算法解决字符的组合问题
- 迷宫问题--C语言实现
- 动态规划 0-1背包问题(C语言描述)
- C语言指针问题
- c语言中输出字符指针相关问题