0
点赞
收藏
分享

微信扫一扫

1027 打印沙漏

架构大数据双料架构师 2022-03-11 阅读 77
java
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        int n, sum = 1, k, i = 1;
        char ch;
        Scanner scanner = new Scanner(System.in);
        n = scanner.nextInt();
        ch = scanner.next().charAt(0);
        //求出分隔层数
        while(true){
            i++;
            k = 2 * (2 * i - 1);
            if(sum + k <= n){
                sum += k;
            }else{
                break;
            }
        }
        i--;
        //打印上半部分
        for(int j = i; j > 0; j--){
            //输出空格
            for(int q =1 ; q <= i - j; q++){
                System.out.print(" ");
            }
            //输出符号
            for(int p = 1; p <= 2 * j - 1; p++){
                System.out.print(ch);
            }
            System.out.println();
        }
        //打印下半部分
        for(int j = 2; j <= i; j++){
            //输出空格
            for(int q = i - j; q > 0; q--){
                System.out.print(" ");
            }
            for(int p = 1; p <= 2 * j - 1; p++){
                System.out.print(ch);
            }
            System.out.println();
        }
        System.out.printf("%d", n - sum);
    }
}
举报

相关推荐

0 条评论