01字符串

来源:互联网 发布:淘宝买家订单怎么导出 编辑:程序博客网 时间:2024/05/21 07:46

输出仅有0和1组成的长度为n的字符串,并且其中不能含有3个连续的相同子串。

输入文件只有一行一个整数n,表示有0和1组成的字符串的长度。0<=n<=30。

输出文件只有一行一个整数,表示所有满足条件的字符串的个数。

1

2

#include<stdio.h>
int a[33];
void work()
{
int i;
a[0]=0,a[1]=2,a[2]=4;
for(i=3;i<33;i++)
a[i]=a[i-1]+a[i-2];
}
int main()
{
int n;
work();
while(scanf("%d",&n)==1)
{
printf("%d\n",a[n]);
}
return 0;
}
长度为n的字符串数量,即为长度为n-1的字符串数量与长度为n-2的字符串数量之和,简单的说就是 a[n]:=a[n-1]+a[n-2]。

0 0