先看题目
问题描述
FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
看到这种有规律的题目,我首先想到的是用递归方法。
递归函数,里面有注释,可以看看。
public static String FJ(int in){
//递归结束条件
if (in ==1){
return "A";
}
//使用char转换
int a = 64;
int sum = a +in;
//保存第一次进来的值
char first=(char)sum;
//每次递减,再进入函数
in--;
FJ(in);
//相加每次递归与第一次进来的值,根据规律再次加一次
String new1 = FJ(in)+first+FJ(in);
return new1;
}
完整代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int in = sc.nextInt();
System.out.println(FJ(in));
}
public static String FJ(int in){
//递归结束条件
if (in ==1){
return "A";
}
//使用char转换
int a = 64;
int sum = a +in;
//保存第一次进来的值
char first=(char)sum;
//每次递减,再进入函数
in--;
FJ(in);
//相加每次递归与第一次进来的值,根据规律再次加一次
String new1 = FJ(in)+first+FJ(in);
return new1;
}
}
还是比较简单的,有疑问可以联系我或者加qq群(我主页侧边栏有二维码),免费答疑。