#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{
int m;
char c;
scanf("%d %c",&m,&c);
int x;
x=sqrt(2*(1.0*m+1))-1;
x=floor(x);
if(x%2==0)
x-=1;
int i,j;
for(i=x;i>0;i-=2)
{
for(j=0;j<(x-i)/2;j++)
{
printf(" ");
}
for(j=0;j<i;j++)
printf("%c",c);
printf("\n");
}
for(i=2;i<=x;i+=2)
{
for(j=0;j<(x-i)/2;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%c",c);
printf("\n");
}
int t=0;
t=m-((1+x)*(1+x)/2-1);
printf("%d\n",t);
return 0;
}
tips:
1、sqrt函数的参数必须是浮点数,可以在参数内部乘以1.0
2、向下取证可以直接用int强制转换,也可以使用math.h头文件下的floor函数