PAT B1027 打印沙漏 (20 分)
*****
 ***
  *
 ***
*****
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入格式:
输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。
输出格式:
首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
输入样例:
19 *
输出样例:
*****
 ***
  *
 ***
*****
2#include <stdio.h>
#include <iostream>
using namespace std;
int s[]={};
int main(){
for(int i=;i<;i++){
s[i]=*i*i-;
}
int n;
char c;
cin>>n>>c;
int num=;
while(n>=s[num]){
num++;
}
num--;
int sum=*num-;
for(int i=num;i>;i--){
int tmp=*i-;
for(int j=;j<(sum-tmp)/;j++){
printf(" ");
}
for(int j=;j<tmp;j++){
printf("%c",c);
} printf("\n");
}
for(int i=;i<=num;i++){
int tmp=*i-;
for(int j=;j<(sum-tmp)/;j++){
printf(" ");
}
for(int j=;j<tmp;j++){
printf("%c",c);
} printf("\n");
}
printf("%d",n-s[num]);
}
注意点:一开始一直纠结在怎么判断这个数多了几个,后来干脆直接把1000以内数全算出来再去比,比较麻烦。看了别人写的,可以直接对(n+1)/2开方取整,也想过但总感觉有点问题就没去写。还是要把想到的先写起来实践,这样才会知道对不对。
PAT B1027 打印沙漏 (20 分)的更多相关文章
- PAT 1027 打印沙漏(20)(思路)
		1027 打印沙漏(20)(20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓& ... 
- PAT B1027  打印沙漏(20)
		思路: 使用数组保存每一行沙漏的最大符号数 输入一个正整数和一个符号 遍历数组,找到大于正整数的数组下标 j. 三角形底边的字符数为 (j - 1) * 2 - 1 打印沙漏 打印剩余字符:x - n ... 
- PAT Basic 1027 打印沙漏 (20 分)
		本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两 ... 
- PAT 1027. 打印沙漏(20)
		本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓"沙漏形状",是指每行 ... 
- 1027 打印沙漏 (20 分)C语言
		题目描述 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓"沙漏形状" ... 
- B1027 打印沙漏
		题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805294251491328 1027 打印沙漏 (20 分) ... 
- PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20)
		PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20) http://www.patest.cn/contests/pat-b-practise/1027 本题 ... 
- PAT乙级   1027. 打印沙漏(20)
		1027. 打印沙漏(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打印成 ... 
- PAT (Basic Level) Practise (中文)1027. 打印沙漏(20)
		1027. 打印沙漏(20) 时间限制 200 ms 内存限制 32000 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打印成 ... 
随机推荐
- 《Inside Solid State Device》读书笔记
			这周我看了<Inside Solid State Device>一书,了解了解SSD作为软件的补充. 固态硬盘区别于将数据以磁形式存储的机械硬盘,使用了一种名为NAND的闪存颗粒,以电信号 ... 
- ubuntu16.04下安装mysql,并开启远程访问
			一.安装 apt-get install mysql-server 二.本地连接 mysql默认开启了本地连接 直接通过mysql -uuser -p,然后输入密码访问 三.开启远程访问 3.1.创建 ... 
- CentOS 7环境下Pycharm安装流程记录
			1.准备安装文件: 方法1: 使用内置火狐浏览器访问下载最新格式为tar.gz的压缩包 网址:https://www.jetbrains.com/pycharm/download/previous.h ... 
- 一起来看看JavaScript中==和===有何不同
			'; // => true 如果其中一个值是true,则将其转换为1再进行比较.如果其中一个值是false,则将其转换为0再进行比较: true == 0; // => false fal ... 
- python-策略模式
			源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 策略指的就是为了达到某一目的而采取的手段或者方法.为了实现软件设计咪表,对象可能 ... 
- python生成器简单了解
			1.什么是生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素, ... 
- ThinkPHP5+Layui实现图片上传加预览
			html代码 <div class="layui-upload"> <button type="button" class="lay ... 
- oop(Object Oriented Programming)
			嗯,昨天忙了一天没来及发,过年啊,打扫啊,什么搽窗户啊,拖地啊,整理柜子啊,什么乱七八糟的都有,就是一个字,忙. 好了,废话也不多说,把自己学到的放上来吧.嗯,说什么好呢,就说原型链啊 原型对象 每个 ... 
- css3之transform属性实现div不定宽高垂直水平居中
			transform的作用 transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜.(w3cschool) transform的兼容性 transfor ... 
- .NET泛型中的协变与逆变
			泛型的可变性:协变性和逆变性 实质上,可变性是以一种类型安全的方式,将一个对象作为另一个对象来使用. 我们已经习惯了普通继承中的可变性:例如,若某方法声明返回类型为Stream,在实现时可以返回一个M ... 
