- 问题描述
FJ在沙盘上写了这样一些字符串:
A1 = "A"
A2 = "ABA"
A3 = "ABACABA"
A4 = "ABACABADABACABA"
... ...
你能找出其中的规律并写所有的数列AN吗? - 输入说明
仅有一个数:N ≤ 20。 - 输出说明
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。 - 输入范例
cpp
3
- 输出范例
cpp
ABACABA
感想:最中间的字母为A,B,C... A2 的左右两边是A1,A3的左右两边是A2,A4的左右两边是A3。。。拼接一块即可。
代码如下:
cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<string> ans(21);
ans[1] = "A";
for(int i = 2; i<=20; ++i) {
char middle = 'A'+i-1;
ans[i] = ans[i-1]+middle+ans[i-1];
}
int n;
cin >> n;
cout<<ans[n]<<endl;
return 0;
}