FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入
仅有一个数:N ≤ 26。
输出
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
复制样例数据 3
样例输出
ABACABA
补充样例
5
ABACABADABACABAEABACABADABACABA
6
ABACABADABACABAEABACABADABACABAFABACABADABACABAEABACABADABACABA
不可以按照单纯的 字符串一分两半 后边拷贝前半边的方法做
import java.util.Scanner;
/**
* @Author susuper
* @Date 2020/1/7 9:31
* @description:
*/
public class TE0107 {
//最开始想法 字符串一分两半
// 从一号字符开始 加到n号字符 后面一半不是对称关系 可以直接用substring剪切掉前一半的最后一个字符 再输出一边
//后来思考比较合适的规律,因该是
// a2 = a1+"A+1"+a1 a3 = a2+"A+2"+a2 用递归
public static void main(String[] args) {
int n = new Scanner(System.in).nextInt();
System.out.println(func(n-1));
}
public static String func(int n ){
if (n==0){
return "A";
}else{
return func(n-1)+(char)('A'+n)+func(n-1);
}
}
}