藍橋杯之VIP試題 FJ的字符串

題目:VIP試題 FJ的字符串

問題描述
  FJ在沙盤上寫了這樣一些字符串:
  A1 = “A”
  A2 = “ABA”
  A3 = “ABACABA”
  A4 = “ABACABADABACABA”
  … …
  你能找出其中的規律並寫所有的數列AN嗎?

輸入格式
  僅有一個數:N ≤ 26。
輸出格式
  請輸出相應的字符串AN,以一個換行符結束。輸出中不得含有多餘的空格或換行、回車符。

樣例輸入
3
樣例輸出
ABACABA

答案:

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
//      輸入行數n
        int n = in.nextInt();
//      通過遞歸算法,獲得AN字符串
        System.out.println(getAN(n));
    }
//寫遞歸時,從簡單的入手,把模型打出來,再帶入更多的數進去驗算;自己要知道遞歸的最底層的結果是什麼;
//遞歸的下一層會帶有遞歸的上一層的結果,例如:
//  A1 = “A”
//  A2 = “ABA”
//  A3 = “ABACABA”  
//  遞歸是獨立的一個方法,用到return;通常第一層的結果就是遞歸最底層的結果。
    private static String getAN(int i)
    {
        if (i == 1)
        {
            return String.valueOf((char)(64 + i));
        }
        return getAN(i - 1) + String.valueOf((char)(64 + i)) + getAN(i - 1);
    }
}

個人小結:asc碼

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章