问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入格式
仅有一个数:N ≤ 26。
输出格式
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 输入行数n int n = in.nextInt(); // 通过递归算法,获得AN字符串 System.out.println(getAN(n)); } //写递归时,从简单的入手,把模型打出来,再带入更多的数进去验算;自己要知道递归的最底层的结果是什么; //递归的下一层会带有递归的上一层的结果,例如: // A1 = “A” // A2 = “ABA” // A3 = “ABACABA” // 递归是独立的一个方法,用到return;通常第一层的结果就是递归最底层的结果。 private static String getAN(int i) { if (i == 1) { return String.valueOf((char)(64 + i)); } return getAN(i - 1) + String.valueOf((char)(64 + i)) + getAN(i - 1); } }
文章来源: 蓝桥杯之VIP试题 FJ的字符串