蓝桥杯 基础练习 FJ字符串

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


思路分析:An 由2个 An-1 字符串夹一字符组成,其字符为 'A'-n+1, 可使用递归得出结果
#include 
#include 

using namespace std;

string FJ(int n)
{
	if(n == 1)
	{
		return "A";
	}
	else
	{
		char a = 'A'+n-1;
		return (FJ(n-1).append(1, a)).append(FJ(n-1));
	}
}

int main()
{
	int n;
	cin >> n;
	string s=FJ(n);
	cout << s << endl;
	return 0;
}


你可能感兴趣的:(Algorithm,programming)