刷题笔记02-递归
f(n)=f(n-1)+f(n-3)
母牛的故事
[递归]母牛的故事 - C语言网 (dotcpp.com)](https://www.dotcpp.com/oj/problem1004.html)
题目描述:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
思路:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3hKiT3X-1679648283281)(D:\code\算法刷题笔记\img\母牛.png)]
代码:
#include<stdio.h>
int main()
{
int n = 0;
int ans = 0;
int arr[55] = { 0 };
for (int i = 1; i < 5; i++) {
arr[i] = i;
}
while (scanf("%d", &n))
{
if (n == 0)
break;
else if (n < 5)
printf("%d\n",arr[n]);
else
{
for (int i = 5; i < n+1; i++)
{
arr[i] = arr[i - 1] + arr[i - 3];
}
printf("%d\n", arr[n]);
}
}
return 0;
}