干了这桶冰红茶!

  • Post author:
  • Post category:其他


BNUCIST的HWQ大神特别钟爱冰红茶这种神棍的饮料,有一天打Dota暴虐他寝室的WL后,决定大喝一顿庆祝一下。他决定用一种神棍的方式来喝冰红茶,那就是每口只喝1升,或者2升,或者3升(PS:HWQ大神真的能喝这么多= =)。爱思考的HWQ突然想知道,对于一桶整数升的冰红茶,他可以有多少种方案喝光,但似乎他不能马上想出解决的办法,纠结的他不知道答案他就喝不下去了。聪明的你快帮帮他吧。

Input

输入一个整数T,代表数据组数。

对于每一组数据,输入一个整数N,1<=N<=30,表示这桶冰红茶有N升。

Output

对于每个N,输出一个整数,代表方案数。

Sample Input

1
3

Sample Output

4

Hint

对于样例,3升的冰红茶,他可以(1)每次喝1升,连喝3口;(2)第一口喝1升,第二口喝2升;(3)第一口喝2升,第二口喝1升;(4)一口就喝掉3升。所以共有4种方案。

解题报告

递归。。。

#include<stdio.h>
#include<math.h>
int f(int x)
{
    int y;
    if(x==1)
    return 1;
    else if(x==2)
    return 2;
    else if(x==3)
    return 4;
    else return f(x-1)+f(x-2)+f(x-3);

}
int main ()
{
    int t,n;
    long long x;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        printf("%d\n",f(n));
    }
    return 0;
}



版权声明:本文为juncoder原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。