一:题目
问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入格式
仅有一个数:N ≤ 26。
输出格式
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA
二:分析
很容易发现数列AN具有递归规律,AN=AN-1 字母 AN-1 ,中间的字母根据输入判断,字符“A”的ASCII码是65,可以用(char)(n+64)来代表中间的字母。不记得ASCII码的时候可以在控制台多试几次,很容易就能找到字母A的ASCII码,因为数字0-9,字母a-z,A-Z的ASCII码都是连续在一起的。
三:代码
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println(funFJ(n));
}
public static String funFJ(int n)
{
if(n==1)
{
return "A";
}
else
{
return funFJ(n-1)+(char)(n+64)+funFJ(n-1);
}
}
}