升降交替数列
升降交替数列
问题描述
有一种长度为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; }
人一我百!人十我万!永不放弃~~~怀着自信的心,去追逐梦想