蓝桥杯【FJ的字符串】Java

问题描述

FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …
你能找出其中的规律并写所有的数列AN吗?

输入格式

仅有一个数:N ≤ 26。

输出格式

请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。

样例输入

3

样例输出

ABACABA

解题思路

通过观察A1~A4,可得出规律:A1为第1个英文字母,A2为A1 第2个英文字母 A1,A3为A2 第3个英文字母 A2,以此类推,An为An-1 第N个英文字母 An-1。所以可以采用一个字符串数组s[]来记录A1~An的值,首先令数组第一个元素A1即s[0]=“A”,之后通过循环将其后的每一个元素赋上相应的值,s[i]=s[i-1]+第i个英文字母+s[i-1],最后输出s[n-1]即可。
:为节省内存空间,数组长度我们定义为n即可,无需定义为26,因为答案只需输出AN的值,即s[n-1]。勤俭持家,从你我做起ヾ(◍°∇°◍)ノ゙

代码实现

import java.io.*;

public class Main {
    
    
	public static void main(String[] args) throws IOException {
    
    
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		String[] s = new String[n];
		s[0] = "A";
		for (int i = 1; i < n; ++i) {
    
    
			s[i] = s[i - 1] + (char) ('A' + i) + s[i - 1];
		}
		System.out.println(s[n - 1]);
	}
}

运行截图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_50816725/article/details/112575799
今日推荐