FJ的字符串
问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入格式
仅有一个数:N ≤ 26。
输出格式
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA
这道题的思路就是将一个大的过程分解成多个小过程,可以用递归或者直接用循环来做。
递归:
import java.util.Scanner;
public class Main {
public static String fun(int n) {
int a = 0;
if (n == 1) {
return "A";
}
a = 'A' + n - 1;
return fun(n - 1) + (char) a + fun(n - 1);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(fun(sc.nextInt()));
}
}
循环:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int flag = sc.nextInt();
String a = "A";
for (int i = 1; i < flag; i++) {
int b = 'A' + i;
a = a + (char) b + a;
}
System.out.println(a);
}
}