取数游戏
题目描述
我们来玩一个游戏:自然数1到N,按顺序列成一排,你可以从中取走任意个数,但是相邻的两个不可以同时被取走。如果你能算出一共有多少种取法,那么你会被天神Lijiganjun奖励。
输入
仅包含一个数n(1< n < 50)。
输出
仅包含一个数———你的答案。
样例输入
5
样例输出
13
问题分析:
- 这道题的核心思想是斐波那契数列。 先考虑 f[i] 与 f[i-1] 的关系,相当于在 i-1 的序列里最后增加了一个 i ,那么就有以下两种情况,一种是先拿 i , 所以 i - 1 就不能一起拿了,因为相邻的不能一起拿,也就是说这种情况相当于前 i - 2 项跟 i 一起拿,也就是 f[i-2] ;第二种情况是留着 i 最后再拿,也就成了先只拿前 i - 1项 ,即 f[i-1] , f[i] 为两种情况之和,也就是 f[i] = f[i-1] +