合法序列
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:311 测试通过:142
总提交:311 测试通过:142
描述
对于一个只由0,1组成的序列,要求该序列中不能有相邻的1。问对于给定长度N,满足条件的0,1序列共有多少种呢?
输入
第一行为一个整数Q,表示询问的次数。接下来Q行每行一个整数N(1<=N<=44)。
输出
对于每个询问输出一个整数,表示满足题述条件的长度为N的0,1序列的个数。
样例输入
2
1
2
样例输出
2
3
题目来源
NUAA
分析:之前有过类似的,看似复杂,一分析其实就是斐波那契数列。水题!
需要注意:用递归会超时。N<=44,数组应开45。
#include<stdio.h>
//合法序列——斐波那契数列
int main()
{
int n, q;
int fab[45] = {0};
fab[1] = 2; fab[2] = 3;
for(int i=3;i<=44;i++)
fab[i] = fab[i-1] + fab[i-2];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&q);
printf("%d\n",fab[q]);
}
return 0;
}

博客探讨了如何使用斐波那契数列解决NuptOJ1043问题,该问题要求找到没有相邻1的0,1序列的数量。给出了输入输出样例,并指出递归方法可能导致超时,建议使用数组避免此问题。"
80097761,7591649,Ueditor图片上传与回显路径自定义教程,"['Ueditor', 'JavaWeb', '文件管理']

1190

被折叠的 条评论
为什么被折叠?



