PAT 乙级 1027 打印沙漏 Java 解决

PAT 乙级 Java 合集 PAT乙级合集 阅读详情

写在最前:欢迎批评,欢迎任意地方的指正,用你们的优秀的java代码砸死我吧!!

问题——————

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

*****
 ***
  *
 ***
*****

所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

输入格式:

输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

输出格式:

首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

输入样例:

19 *

输出样例:

*****
 ***
  *
 ***
*****
2

解题思路:

 注意每输出一次符号,总数减一就好了,最后输出

package not.die.in.here;
//全对通过  20分
import java.util.Scanner;

public class _1027_Hourglass {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		String c = sc.next();
		int hs = 0;//沙漏开始的符号数量以及行数

		num--;//去掉中心
		for(int i=6;i<1000;i+=4) {
			if(num>=i)
				num-=i;//一行
			else {
				hs = (i-4)/2;
				break;	
			}
		}
		for(int i=0;i<(hs+1)/2;i++) {
			for(int j=i;j>0;j--) {
				System.out.print(" ");
			}	
			for(int j=hs-i*2;j>0;j--) {
				System.out.print(c);
			}	
			System.out.println();
		}//上半部加中间
		for(int i=(hs+1)/2-1;i>0;i--) {
			for(int j=i;j>1;j--) {
				System.out.print(" ");
			}	
			for(int j=(hs-i*2)+2;j>0;j--) {
				System.out.print(c);
			}	
			System.out.println();
		}//下半部
		System.out.println(num);
		
		sc.close();
	}
}

提交截图:

PAT 乙级真题题解 java实现 虽然这次PAT考试的成绩并不算理想,但还是有了很多收获,特别是认识了一些很优秀的人以及他们平时怎么学习算法。 我参加的2019年冬季PAT乙级考试,这个时间PAT官网上的乙级真题有95道,我是使用java来做的(推荐使用c语言)。大部分题都是通过的,部分题目超出时间限制, 还有一部分只通过了部分用例。 以下是题目清单及我的通过情况: GitHub仓库 完全正确 1001 害死人不偿命的(3n... 阅读详情

相关推荐

PAT 乙级真题——1027 打印沙漏 (20 分)

PAT 乙级真题——1027 打印沙漏 (20 分)

Portia356的博客 387

打印沙漏 Java

第二:分别用算法搞出上半部分哪几层和下半部分几层即可。第一:先确定要输入的n能搞几层对称沙漏。

2203_75357861的博客 1021

PAT乙级-题解(Java)

我的题解放在github仓库了(喜欢的话,记得star哈) 下面是汇总导航,如果你只想看其中某个题的话,点击题解直达。 乙级的题目每个题都是一个有趣的故事,引导你去思考解决问题的能力,不是单纯的刷题。然后只涉及数组,循环,判断,字符串等基础编程语言语法的知识,不会设计复杂的算法与数据结构。 一开始可能会有点吃力,正常,但是如果你全部刷完,leetcode上部分简单题对你来说是小case了。 甲级主要是算法与数据结构,乙级刷完了,也可刷甲级, 甲级的题目特别好,测试用例丰富 如果是急需找工作,面试的话刷lee

weixin_45685225的博客 1894

1027 打印沙漏(PAT乙级)

题目描述: 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。 输入格式: 输入在一行给出1个正整数N(≤1000)...

闭关修炼 870

打印沙漏 (20 分)PTA

L1-002 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。 输入格式: 输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。 输出格式: 首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。 输入样例: 19 * 输出样例: ***** *** * *** ***** 2

打印沙漏的简单程序

这是某考试认证网站中的考题

L1-002 打印沙漏 java

上半沙漏 下半沙漏。首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

iiiiiaaaaa337的博客 555

沙漏计费全栈

Create React App入门 该项目是通过。 可用脚本 在项目目录中,可以运行: npm start 在开发模式下运行应用程序。 打开在浏览器中查看。 如果进行编辑,页面将重新加载。 您还将在控制台中看到任何棉绒错误。 npm test 在交互式监视模式下启动测试运行程序。 有关更多信息,请参见关于的部分。 npm run build 构建生产到应用程序build文件夹。 它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 最小化构建,文件名包含哈希。 您的应用已准备好进行部署! 有关更多信息,请参见有关的部分。 npm run eject 注意:这是单向操作。 eject ,您将无法返回! 如果您对构建工具和配置选择不满意,则可以随时eject 。 此命令将从项目中删除单个构建依赖项。 相反,它将所有配置文件和传递依赖项(webpack,Babel

Java语言中,使用字符打印出“沙漏”形状。

使用java语言打印一个沙漏,所谓沙漏就是使用一个特殊符号打印两个上下等腰三角形组成一个类似沙漏形状图案。

m0_47005019的博客 2692

完美解决LBP2900打印机安装驱动提示无法识别USB及连接错误等问题(附Win11全新安装支持及卸载方案)

LBP2900打印机虽然经典老旧,但在Win11上依然可以完美使用!许多网上教程都无视安装失败后的问题,在此分享一种全新、100%有效的方法来解决驱动连接错误和无法识别USB设备的问题。无论是新安装还是卸载重装,这个方法都适用。本文整合了通用驱动包,支持Win2000到Win11系统,操作简单,轻松摆脱安装困扰,享受无忧打印体验!

心开始の未来~的博客 2万+

视频教程-SAP S4 HANA FICO COPA 获利能力分析-ERP

SAP S4 HANA FICO COPA 获利能力分析 从业超过8年的SA...

weixin_33456805的博客 1442

打印沙漏Java

首先确定你输入的数字n可以打出几行 " * ",(n+1)/2是你打印上半部分需要的个数(上边的倒三角)然后写出一个循环判断上边倒三角有几行,每行有(1,3,5,7......)然后通过循环打印 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); i...

star647406424的博客 1508

新手必看!无人机定高PID调参避坑指南:从理论到实战的完整流程

本文为无人机新手提供定高PID调参的完整指南,从传感器融合到抗风策略,详细解析多传感器融合、PID控制参数调试及环境干扰应对。通过实战案例和代码示例,帮助开发者快速掌握无人机定高技术,避免常见调参陷阱,提升飞行稳定性。

spark7igniter的博客 221

PAT乙级【Java题解合集】

超级全的PAT的JAVA题解

小羊不会飞的博客 3732

微机原理与接口技术第六版周荷琴课后习题答案及解析(期末重点)

第二章 1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根? 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存。 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址6...

Wmicheng的博客 1万+

基于POI-TL实现动态Word模板数据填充(含图表):从需求到落地的完整开发实践

本文聚焦企业级报告生成场景中 “在线编辑模板 + 动态数据填充” 的核心需求,详细阐述基于 POI-TL、OnlyOffice 与 MinIO 的全栈实现方案。通过代码示例拆解模板加载、文字填充、图表匹配渲染(含通过关系 ID 关联图表与段落的关键逻辑)、报告存储全步骤。最终通过技术组合实现业务人员可视化编辑模板、后端高效填充数据的目标,为同类动态 Word 生成需求提供可复用的实践参考。

imHanweihu的博客 1866

PAT乙级——Java合集

简介添加链接描述   刷PAT完全是闲的时候打发时间的,感觉还蛮有意思,有空了就写几道,基本都是Java实现的,目前为止才刷了五十多道题目,等刷完继续LeetCode,这里也会持续更新的。 合集 PAT 1001 害死人不偿命的(3n+1)猜想(15分) PAT 1002 写出这个数 (20分)(Java) PAT 1003 我要通过! (20分)(Java) PAT 1004 成绩排名 (20 分)(Java实现) PAT 1005 继续(3n+1)猜想 (25分)(Java)

HenryLei的博客 6万+

安卓开发者必看:Win11最新Fastboot驱动安装避坑指南(含Android Bootloader Interface选择技巧)

本文为安卓开发者提供了Windows 11系统下Fastboot驱动安装的详细指南,特别针对Android Bootloader Interface选择技巧和多设备并发连接时的驱动冲突问题。通过解析Windows 11的特殊驱动验证机制,推荐使用Google官方USB驱动,并提供安装流程、版本选择建议及疑难问题排查方法,帮助开发者高效完成开发环境配置。

sea99的博客 1332

【JAVA】PAT 乙级 1027 打印沙漏

【JAVA】PAT 乙级 1027 打印沙漏 题目链接 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。 输入格式...

TAL_DARIM的博客 341

ADRC自抗扰算法优化(PLC梯形图篇)

ADRC自抗扰算法PLC梯形图完整源代码请参看下面博客文章:ADRC自抗扰控制算法(含梯形图完整源代码和算法公式)_adrc算法_RXXW_Dor的博客-优快云博客PLC的自抗扰控制(ADRC)算法_RXXW_Dor的博客-优快云博客_adrc算法1、自抗扰控制算法,网上很多文章有所讲解,大家也可以关注韩京清教授的论文和书籍,这里就不赘述了,下面给出梯形图+SCL代码。

RXXW_Dor的博客 2282

MTK Android 12 Clone Project 克隆项目

本文介绍了如何使用MTK Android 12 Clone Project 克隆一个新的项目。通过使用绝对路径执行Perl脚本,并根据需要选择升级或降级位数,可以成功地生成一个新的项目并进行编译。希望本文对xdm有所帮助。

我其实什么都不会 942

pat 打印沙漏 java_pat乙级1027. 打印沙漏(20)——二维数组输出和直接输出两种方法实现...

欢迎访问我的pat乙级题解目录哦https://blog..net/richenyunqi/article/details/84981369题目描述算法设计这是一道找规律的题目,漏斗上下对称,如果将漏斗的上半部分的倒三角的行数设置为mid(例如题中所给样例mid=3),形成漏斗的字符总数为M,由于行数逐行递减的字符数为2,则根据等差数列性质有:(1+mid)*mid=M;即mid的平方=(M+1)...

weixin_39977886的博客 829

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

PAT乙级 1027 打印沙漏 (JAVA)

1027打印沙漏(20分) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉...

涩。 202

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

PAT乙级:1027 打印沙漏(JAVA)

import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader = new Scanner(System.in); int n = reader.nextInt(); String fu = reader.next(); int yu = 0; int count = 2; n=n

liuarmyliu的博客 2201

PAT乙级真题 — 1027 打印沙漏(java)

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

2403_89522296的博客 568
上一篇: PAT 乙级 1026 程序运行时间 Java 解决
下一篇: PAT 乙级 1028 人口普查 Java 解决
TimothyHTY
博客等级 码龄9年 16粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值