题目 地址 https://www.patest.cn/contests/pat-b-practise/1027
#include<iostream>
using namespace std;
int main(){
int n, rea, c;
char p;
cin >> n;
cin >> p;
int j, i;
for(i = 1; i <= n; i++)
{
if( 2 * i * i - 1 >n)
{
c = i - 1;
rea =n - (2 * (i - 1) * (i - 1) - 1) ;
break;
}
if( 2 * i * i - 1 == n)
{
c = i;
rea =n - (2 * (i) * (i) - 1) ;
break;
}
}
int tal = 1 + (c - 1) * 2;
for(i = 1; i <= c; i++)
{
for(j = 1; j <= tal - (i - 1); j++)
{
if(j <= i - 1)
cout << " ";
else
cout << p;
}
cout << endl;
}
int k = c;
for(i = 1; i <= c - 1; i++)
{
k = k - 1;
for(j = 1; j <= tal - (k - 1); j++)
{
if(j <= k - 1)
cout << " ";
else
cout << p;
}
cout << endl;
}
cout << rea;
return 0;
}
//A1 = 1
//An =
//
//1 + 1 + (n - 1) * 2
//(1 + 1 + (i - 1) * 2) * i - 1