//打印沙漏
//an=2n-1;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num=sc.nextInt();
String outputStr=sc.next();
StringBuilder temp=new StringBuilder("");
for(int i=0;i<500;i++){
temp.append(outputStr);
}
for(int i=500;i<1000;i++){
temp.append(" ");
}
//确定用到的*号个数
int num0=num;
boolean flag = false;
while(true){
for(int i=0;i<=Math.sqrt((num0+1)/2);i++){
if(2*i*i-1==num0){
flag=true;
break;
}
}
if(flag) break;
num0--;
}
// System.out.println("num0: "+num0);
int n=(int)Math.sqrt((num0+1)/2);
StringBuilder str=new StringBuilder("");
for(int i=n;i>=1;i--){
str.append(temp.substring(500,500+n-i));
str.append(temp.substring(0,2*i-1));
str.append("\n");
}
for(int i=2;i<=n;i++){
str.append(temp.substring(500,500+n-i));
str.append(temp.substring(0,2*i-1));
str.append("\n");
}
System.out.print(str);
System.out.println(num-num0);
}
}
原文:https://www.cnblogs.com/cstdio1/p/12130095.html