MarcusV(南墙大佬的搬运工)

南墙大佬的CSDN博客地址

导航

Java实现 蓝桥杯 算法提高 套正方形(暴力)

试题 算法提高 套正方形

问题描述
  给定正方形边长width,如图按规律输出层层嵌套的正方形图形。
  注意,为让选手方便观看,下图和样例输出均使用“”代替空格,请选手输出的时候使用空格而不是“”。

width=6:

	****** 
  *____* 
  *_**_* 
  *_**_* 
  *____* 
  ******

输入格式
  仅一行一个整数width。
输出格式
  按规律输出图形,不要输出多余空格。
样例输入
10
样例输出

**********
*________*
*_******_*
*_*____*_*
*_*_**_*_*
*_*_**_*_*
*_*____*_*
*_******_*
*________*
**********

数据规模和约定
  width满足width=4n+2,n为正整数。

且width<=50。

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.close();
        String[] strs =new String[n/2];
        char[] s = new char[n];
        for (int i=0;i<n;i++){
            s[i]='*';
        }
        strs[0]=new String(s);
        System.out.println(strs[0]);
        int start=1,end=n-2;
        for(int i=1;i<n/2;i++){
            for (int j=start;j<=end;j++){
                if ((i & 1) == 1){
                    s[j]=' ';
                }else{
                    s[j]='*';
                }

            }
            start++;end--;
            strs[i]=new String(s);
            System.out.println(strs[i]);

        }
        for (int i=n/2-1;i>=0;i--){
            System.out.println(strs[i]);
        }

    }
}

posted on 2020-04-27 14:21  MarcusV  阅读(63)  评论(0编辑  收藏  举报