升降交替数列
升降交替数列
问题描述
有一种长度为n 的特殊数列,具有如下特点:
(1)第一项为1;
(2)每一项为1、2或3;
(3)数列中的项升降交替。
例如,长度为3 的特殊数列只有3条:121,132,131。
你的任务是计算长度为n 的特殊数列的条数
输入:
输入文件有若干行,每行上有一个整数n,表示特殊数列长度,1≤n≤45。
输出:
对输入文件中的每个整数n,输出长度为n的特殊数列的条数
输入样例:
3
7
输出样例:
3
21
#include<stdio.h>
#include<iostream>
using namespace std;
int f[46];
int vext()
{
f[1]=1;f[2]=2;
for(int i=3;i<=45;i++)
{
f[i]=f[i-1]+f[i-2];
}
}
int main()
{
int n;
vext();
while(cin>>n)
{
cout<<f[n]<<endl;
}
return 0;
}
人一我百!人十我万!永不放弃~~~怀着自信的心,去追逐梦想
浙公网安备 33010602011771号