目录
一【题目描述】
二【题目样例】
三【解题思路】
参考视频
有个坑点,都用了要输出0
四【代码实现】
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int n;
int row=0;//row为分一半看的行数
char c;
cin>>n>>c;
for(int i=0;i<n;i++){
if(2*i*(2+i)+1>n){
row=i-1;
break;
}
}
for(int i=row;i>=1;i--){
for(int k=row-i;k>=1;k--) cout<<" ";
for(int j=2*i+1;j>=1;j--) cout<<c;
cout<<endl;
}
for(int i=0;i<row;i++)cout<<" ";
cout<<c<<endl;
for(int i=1;i<=row;i++){
for(int k=1;k<=row-i;k++) cout<<" ";
for(int j=1;j<=2*i+1;j++) cout<<c;
cout<<endl;
}
cout<<n-2*row*(2+row)-1<<endl;
}