L1-002 打印沙漏 (20 分)
#include<bits/stdc++.h>
using namespace std;
int main(void){
int N;char c;
cin>>N>>c;
if(N == 0) return 0*printf("0");
int n = 1,sum = 1;
for(int i = 2;; ++i){
sum += (2*i-1)*2;
if(sum > N){
sum -= (2*i-1)*2;
i = i-1;
for(int j = 2*i-1;j >= 1; j -= 2){
int t= (2*i-1-j)/2;
string s = string(t,' ')+string(j,c);
cout<<s<<endl;
}
for(int j = 3;j <= 2*i-1; j += 2){
int t= (2*i-1-j)/2;
string s = string(t,' ')+string(j,c);
cout<<s<<endl;
}
cout<<N-sum<<endl;
break;
}
}
return 0;
}
// 字符串格式化