import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int n=in.nextInt();
char s=in.next().charAt(0);
in.close();
int cnt=(n-1)/2;
int i=3;
//层数初始化
int j=0;
while((cnt-i)>0){
//层数
j++;
cnt-=i;
i+=2;
}
//大于等于零包含了一个字符的行
for(int begin=j;begin>=0;--begin){
for(int k=0;k<j-begin;k++){
System.out.print(" ");
}
for(int k=begin*2+1;k>0;k--){
System.out.print( s);
}
System.out.println();
}
//下层将上层倒序一下即可没有一行的单个字符则只需大于零即可
for(int begin=1;begin<=j;++begin){
for(int k=j-begin;k>0;--k){
System.out.print(" ");
}
for(int k=0;k<begin*2+1;++k){
System.out.print(s);
}
System.out.println();
}
//计算所剩余的字符数量
int count=3;
int index=0;
for(int k=0;k<j;k++) {
index+=count;
count+=2;
}
System.out.println(n-index*2-1);
// TODO Auto-generated method stub
}
}
1027 打印沙漏 (20分)
最新推荐文章于 2022-11-03 09:25:58 发布