基础练习 FJ的字符串

问题描述
  FJ在沙盘上写了这样一些字符串:
  A1 = “A”
  A2 = “ABA”
  A3 = “ABACABA”
  A4 = “ABACABADABACABA”
  … …
  你能找出其中的规律并写所有的数列AN吗?
输入格式
  仅有一个数:N ≤ 26。
输出格式
  请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA

思路:
        规律是想得到第i行,要先打印第i-1行,再打印中间数,再打印第i-1行,所以很容易想到递归,注意第一二行要特殊考虑。

#include <cstdio>
#include <cstring>

void An(int n)
{
	int i;
	if(n == 1)
		printf("A");
	for(i = 2; i <= n; i++)
	{
		if(i <= 2)
			An(i-1);
		printf("%c", 'A' + i - 1);
		An(i-1);
	}
}

int main()
{
	int n;
	scanf("%d", &n);
	An(n);
	return 0;
}


你可能感兴趣的:(递归,蓝桥杯,基础练习,FJ的字符串)