您的位置:首页 > 其它

CCF NOI100002 取数游戏

2017-04-29 17:42 281 查看
问题链接CCF
NOI100002 取数游戏



时间限制:
1000 ms 空间限制: 262144 KB



题目描述

我们来玩一个游戏:自然数1到N,按顺序列成一排,你可以从中取走任意个数,但是相邻的两个不可以同时被取走。如果你能算出一共有多少种取法,那么你会被天神Lijiganjun奖励。

输入

仅包含一个数n(1< n < 50)。

输出

仅包含一个数———你的答案。
样例输入

5

样例输出

13

数据范围限制

问题分析

可以找出递推关系,就是斐波那契数列。

程序说明

(略)

要点详解

能用递推不用递归。

参考链接:(略)。

100分通过的C语言程序:

#include <stdio.h>

typedef unsigned long long ULL;

ULL fib(int n)
{
ULL f1=1, f2=1, temp;
int i;

if(n == 1 || n == 2)
return 1;
for(i=3; i<=n; i++) {
temp = f1 + f2;
f1 = f2;
f2 = temp;
}

return f2;
}

int main(void)
{
int n;

scanf("%d", &n);

printf("%lld\n", fib(n + 2));

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: