3.吃小桔子
时间: 1ms 内存:128M
描述:
又到一年收获季,去学校外面水果超市买了一袋小橘子,但是懒散的我想一边看电影,一边吃橘子,我可以一口吃一个小橘子,也可以一次吃两个小橘子,求我吃完小橘子有几种吃法。
例如:一共3个小橘子,我可以每次吃一个,或者第一次吃一个,第二次吃两个,或者第一次吃两个,第二次吃一个,一共3种吃法
输入:
小橘子的个数n(1 <= 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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。