试题 基础练习 FJ的字符串
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入格式
仅有一个数:N ≤ 26。
输出格式
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
3
样例输出
ABACABA
题解一: JAVA语言
这道题用java写挺简单的,因为java可以直接加减字符串:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n;
n = input.nextInt();
String a = "A";
for(int i=1;i<n;i++){
int b = 'A'+i;
a = a + (char)b + a;
}
System.out.println(a);
}
}
只需要每次循环使用a = a + (char)b + a;就可把一整串answer找到,这是C/C++做不到的
题解二: JAVA语言的递归
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String answer=fj(n);
System.out.println(answer);
}
static String fj(int n) {
if(n==1) {
return "A";
}
return fj(n-1)+(char)('A'+n-1)+fj(n-1);
}
}