蓝桥杯训练 day1_28 and 1_29

题目一:根据给出的字符串找规律,对字符串进行操作

  • 题目描述

FJ在沙盘上写了这样一些字符串:

A1  =  “A”

A2  =  “ABA”

A3  =  “ABACABA”

A4  =  “ABACABADABACABA”

…  …

你能找出其中的规律并写所有的数列AN吗?

输入:仅有一个数:N ≤ 26。

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

思路分析:
     (1)字符串的规律为A(n) = A(n-1)+'对应的字符'+A(n-1)
       (2) StringBuffer类可以实现在末尾添加内容
       (3) 则StringBuffer str 初始化为"A",字符初始化为B
       (4)先定义一个变量作为临时变量记录str
       (5)str后添加对应字符,再添加临时变量
       (6)对应字符++
 

package day1_28;

import java.util.Scanner;


public class Main1461 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        StringBuffer str = new StringBuffer("A");
        char T = 'B';
        for(int i=2;i<=n;i++) {
            StringBuffer s = new StringBuffer(str);
            str.append(T);
            str.append(s);
            T = (char) (T+1);
        }
        System.out.println(str);

    }

}
 

  •  题目二:分解质因数 n 

 思路:先找到最小的质因数k
 判断:(1)如果n==k,则说明已经找到了最后一个质因数,输出
            (2)n!=k:{
                        (1)如果n能整除k,就说明k是n的质因子,则 n = n/k,输出k
                        (2)如果不能整除,则k++

public class Main1464 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        for(int i=a;i<=b;i++) {
            fenjie(i);
        }
    }

    private static void fenjie(int n) {
        int k = 2;
        System.out.print(n+"=");
        while(n!=k) {
            if(n%k==0) {
                n = n/k;
                System.out.print(k+"*");
            }else {
                k++;
            }
        }
        System.out.println(n);
    
    }
    
}
 

上一篇:CSS3----伪类与伪类元素选择器--链接伪类和锚点伪类


下一篇:1765. 地图中的最高点_2022_01_29