FJ的字符串

FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?
输入
仅有一个数:N ≤ 26。
输出
请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。
样例输入
复制样例数据 3
样例输出
ABACABA

补充样例
5
ABACABADABACABAEABACABADABACABA
6
ABACABADABACABAEABACABADABACABAFABACABADABACABAEABACABADABACABA

不可以按照单纯的 字符串一分两半 后边拷贝前半边的方法做

import java.util.Scanner;

/**
 * @Author susuper
 * @Date 2020/1/7 9:31
 * @description:
 */
public class TE0107 {
    //最开始想法  字符串一分两半
    // 从一号字符开始 加到n号字符  后面一半不是对称关系 可以直接用substring剪切掉前一半的最后一个字符 再输出一边

    //后来思考比较合适的规律,因该是
    // a2 = a1+"A+1"+a1    a3 = a2+"A+2"+a2  用递归
    public static void main(String[] args) {
        int n = new Scanner(System.in).nextInt();
        System.out.println(func(n-1));

    }
    public static String  func(int n ){
        if (n==0){
            return "A";
        }else{
            return func(n-1)+(char)('A'+n)+func(n-1);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值