题目描述
有n个人站成一排,CCTV要采访其中一些人“你幸福吗?”。但是相邻两个人不能都被采访,否则这两个人就会因为相互影响而说出不真实的回答。CCTV想知道一共有多少种满足条件的采访方法呢?
输入格式
一个整数n (0<=n<=91)
输出格式
方法总数
样例输入
2
样例输出
3
提示
样例解释:CCTV可以都不采访(= =|),或者只采访第一个人,或者只采访第二个人
提示:1.思考构建递推式,或者写出前几项的答案找规律。2.使用for语句递推求数列的某一项。3.答案需要使用无符号64位整数存储。
#include<iostream>
using namespace std;
unsigned long long dp[100];
int main(){
dp[0]=1;
dp[1]=2;
int n;
cin>>n;
for(int i=2;i<=n;i++)
dp[i]=dp[i-1]+dp[i-2];
cout<<dp[n];
}