#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,count,leavel;
char c;
cin>>n>>c;
leavel = sqrt( (n+1)/2 );//leavel是行数
count = 2 * leavel - 1;//count是最后一行字符的个数
int left = 0 , right = count;
for(int i = 0 ; i < leavel ; i ++)
{
for(int j = 0 ; j < left ; j ++)
{
cout<<' ';
}
for(int r = left ; r < right ; r ++)
{
cout<<c;
}
left += 1;//每行多一个空格
right -= 1;//每行都会减少一个字符
cout<<endl;
}
left -= 2;
right += 2;
for(int i = 1 ; i < leavel ; i ++)
{
for(int j = 0 ; j < left ; j ++)
{
cout<<' ';
}
for(int r = left ; r < right ; r ++)
{
cout<<c;
}
left -= 1;
right += 1;
cout<<endl;
}
cout<<n - leavel * (1+count) + 1<<endl;//等差数列是个好东西
return 0;
}
打印沙漏
最新推荐文章于 2023-07-06 16:29:08 发布