首页 > 其他 > 详细

PAT沙漏

时间:2016-09-03 13:40:27      阅读:330      评论:0      收藏:0      [点我收藏+]

#include <cstdio>
#include <iostream>

using namespace std;

int num[1004];
int rest[1004];

void preHandle(){
int sum = 1;
int cnt = 1;
for (int i = 1; i < 1004; ++i) {
if (i >= sum) {
cnt += 2;
sum += cnt * 2;
}
num[i] = cnt - 2;
rest[i] = i + cnt * 2 - sum;

}
}
int main(){

preHandle();

int n;
char ch;
cin >> n >> ch;
int size = num[n];
for (int j = 0; j < size; ++j){
for (int i = 0; i < size; ++i) {
if ((j <= i && j <= size - 1 - i) || (j >= i && j >= size - 1 - i)) {
cout << ch;
}
else if ((j > i && j < size - 1 - i)) {
cout << ‘ ‘;
}
else{
break;
}
}
cout << endl;
}

cout << rest[n] << endl;
return 0;
}

PAT沙漏

原文:http://www.cnblogs.com/code666/p/5836705.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!