题目内容:
现有长度为n 的字符串,该字符串只由“A”,“C”,“M”三种字符组成(可以只有其中一种或两种字符,
但绝对不能有其他字符 ),但是禁止在串中出现C 相邻的情况,求一共有多少种满足要求的不同的字符串。
例如:n=2 时,有AA,AC,AM,CA,CM,MA,MC,MM 8 种情况。
输入描述
长度整数n(n<40)
输出描述
字符串的种数
输入样例
2
输出样例
现有长度为n 的字符串,该字符串只由“A”,“C”,“M”三种字符组成(可以只有其中一种或两种字符,
但绝对不能有其他字符 ),但是禁止在串中出现C 相邻的情况,求一共有多少种满足要求的不同的字符串。
例如:n=2 时,有AA,AC,AM,CA,CM,MA,MC,MM 8 种情况。
输入描述
长度整数n(n<40)
输出描述
字符串的种数
输入样例
2
输出样例
8
#include<stdio.h>
#include<math.h>
#define M 100
int main()
{
int num;
int i,j,r,k;
int count = 0;
int a[M],b[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
scanf("%d",&num);
num = (int)pow(3,num);
printf("num = %.0lf\n",num);
for(i = 1;i <= num; i++)
{
j = i;
while(j)
{
a[j] = b[r%3];
r = r/3;
j++;
}
for(k = 0;k < j; k++)
printf("%d",a[k]);
printf("\n");
}
}