问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入格式
仅有一个数:N ≤ 26。
输出格式
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA
下面是已经测试通过的java代码
解题思路是使用递归,从题目中可以很明显的看出,随着n的增加,后一个字符串中包含了前一个字符串,并且他们的构成结构是一样的,所以可以使用递归进行简单的解决
import java.util.Scanner; public class Main { static char [] ch = new char[27]; static String recursion(int n){ if(n==1) return ch[n]+""; return recursion(n-1) + ch[n] + recursion(n-1); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ch[1]='A'; for(int i=2;i<27;i++){ ch[i] = ch[i-1]; ch[i]++; } int n = scanner.nextInt(); System.out.println(recursion(n)); } } //使用递归进行解决