3.吃小桔子

时间: 1ms        内存:128M

描述:

又到一年收获季,去学校外面水果超市买了一袋小橘子,但是懒散的我想一边看电影,一边吃橘子,我可以一口吃一个小橘子,也可以一次吃两个小橘子,求我吃完小橘子有几种吃法。

例如:一共3个小橘子,我可以每次吃一个,或者第一次吃一个,第二次吃两个,或者第一次吃两个,第二次吃一个,一共3种吃法

输入:

小橘子的个数n1 <= n < 30

输出:

吃完这些小橘子总共的吃法

示例输入:

3

示例输出:

3

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
#include<stdlib.h>

const int maxn = 31;
int f[maxn];
void init()
{
    f[1] = 1;
    f[2] = 2;
    for(int i=3; i<maxn; i++)
        f[i] = f[i-1] + f[i-2];
}

int main()
{
    init();
    int n;
    scanf("%d",&n);
    printf("%d\n",f[n]);
    return 0;
}

参考答案(时间最优[0]):

#include<stdio.h>
#include<stdlib.h>

const int maxn = 31;
int f[maxn];
void init()
{
    f[1] = 1;
    f[2] = 2;
    for(int i=3; i<maxn; i++)
        f[i] = f[i-1] + f[i-2];
}

int main()
{
    init();
    int n;
    scanf("%d",&n);
    printf("%d\n",f[n]);
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。