递推递归练习A

来源:互联网 发布:c语言解惑 微盘 编辑:程序博客网 时间:2024/06/07 21:29

Description

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

Input

输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0< n< 55),n的含义如题目中描述。 n=0表示输入数据的结束,不做处理。

Output

对于每个测试实例,输出在第n年的时候母牛的数量。 每个输出占一行。

Sample Input

2450

Sample Output

246

递推繁殖题,基础题;


思路如下:

第N年牛的数量就是上一年所有牛的数量加上大前年的牛(这些牛第N年刚好成熟并繁殖)的数量;


代码如下:

#include<bits/stdc++.h>using namespace std;int main(){        int n,i,a[55]={1,2,3};        for(i=3;i<55;i++)        {                a[i]=a[i-3]+a[i-1];        }        while(cin>>n)        {                if(n==0)                        break;                else                        cout<<a[n-1]<<endl;    //这里因为数组是从a[0]开始存的,所以输出a[n-1]        }}


0 0
原创粉丝点击