题目名字
https://www.dotcpp.com/oj/problem1004.html
题意
母牛每年年初生一头小母牛,眉头小牛在第四年也会开始生小牛
思路
- 当年的母牛数量等于上一年的母牛数量加上四年前的母牛数量。因为四年前的母牛会生小母牛,这些小母牛在当前年份也会生小母牛,所以需要加上四年前的母牛数量。
坑点
- 主要是找出规律
算法一:XX+XX
递归+函数
实现步骤
1.在 fun 函数中,如果 n 小于或等于 3,返回 n。
否则,返回 fun(n-1) + fun(n-3)。
2.使用 while 循环来读取输入的整数值,并且当输入的整数值不为0时执行循环。
3.在循环中,调用 fun 函数并打印返回的值。
代码
# include<stdio.h>
int fun(int n)
{
if(n<=3) return n;
else return fun(n-1)+fun(n-3);
}
int main()
{
int n;
while(scanf("%d",&n) && n)
printf("%d\n",fun(n));
return 0;
}