pat乙级-1027 打印沙漏(20)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
	

using namespace std;

int main(int argc, const char * argv[]) {
int n;
char ch;
cin>>n>>ch;
int sum = 0;
int i = 1,j = 0;
while(sum<=n-1)
{
i += 2;
j++;
sum += i*2;
}
sum = sum-i*2;
int temp = i;
int t = j;
for( j = j-1;j>=0; --j)
{
for( int k = 1; k<t-j; ++k)
cout<<" ";
for( i = temp-2; i >= 1; i-- )
{
cout<<ch;
}
temp = temp - 2;
cout<<endl;
}

for( ; j < t-2; ++j)
{
for(int k = 1;k<t-j-2;++k)
{
cout<<" ";
}
for( i = temp+2; i >= 1; i-- )
{
cout<<ch;
}
temp = temp + 2;
cout<<endl;
}
cout<<n-sum-1<<endl;
return 0;
}