PTA练习(1.15)打印沙漏、个位数统计 蔚落 2022-03-26 06:30 161阅读 0赞 L1-002 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。 ### 输入格式: ### 输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。 ### 输出格式: ### 首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。 import java.util.*; public class Main { public static void main(String args[]) { int a=0,b,c=1,s=1,i=1,n; String m = null; Scanner sc=new Scanner(System.in); if(sc.hasNext()) { a=sc.nextInt(); m=sc.next(); sc.close(); } b=(a-1)/2+1;//计算沙漏下半部分可使用的符号总数(包括中心点) while((s+c+2)<=b){ c=c+2; s=s+c; i++;//s为累计已使用的符号数,i为层数,c为每层的符号数; } String p[]=new String[i];//数组用于存储每层的符号(包括空格) for(int l=0;l<i;l++) { p[l]="";//初始化 } int k=(c-1)/2;//k为最底层的最左符号到整个沙漏对称轴的距离 int o=0; for(int j=0;j<i;j++) { o=j;//o为当前行的最左符号到对称轴距离,而每层加2相当于左右两侧各加1 for(int l0=0;l0<k-o;l0++) { p[j]=p[j]+" ";//k-o个空格 } for(int l1=0;l1<o*2+1;l1++) { p[j]=p[j]+m;//符号数为o*2+1 } } for(int j=i-1;j>0;j--) {//输出沙漏 System.out.println(p[j]); } for(int j=0;j<i;j++) { System.out.println(p[j]); } System.out.println(a-s*2+1); } } L1-003 个位数统计 给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。 ### 输入格式: ### 每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。 ### 输出格式: ### 对 N 中每一种不同的个位数字,以 `D:M` 的格式在一行中输出该位数字 `D` 及其在 N 中出现的次数 `M`。要求按 `D` 的升序输出。 import java.util.*; public class Main { public static void main(String args[]) { String m=null; int start=0; Scanner sc=new Scanner(System.in); if(sc.hasNext()) { m=sc.next(); sc.close(); } int a[]=new int[10]; for(int i=0;i<10;i++) { a[i]=0; } for(int i=0;i<10;i++) { while((start=m.indexOf(i+"",start))>=0) { //int转String,其中m.indexOf(x,y)是从y开始检索x在m中出现的位置,这个循环即可得到x在m中出现的次数 start++; a[i]=a[i]+1; } } for(int i=0;i<10;i++) { if(a[i]!=0) { System.out.println(i+":"+a[i]); } } } }
相关 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏形状”,是指每 末蓝、/ 2022年06月15日 08:27/ 0 赞/ 205 阅读
相关 (PTA详解)L1-002. 打印沙漏 ![20171213153142513][] 思路:采用数学中的奇数和n^2,先求出沙漏上半部分的行数用,2\h\h-1=n(你输入得数,假设是n,此n不等于前面的n),按例 太过爱你忘了你带给我的痛/ 2022年06月03日 00:52/ 0 赞/ 274 阅读
相关 打印沙漏 https://www.patest.cn/contests/gplt 天梯赛-练习赛 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打 素颜马尾好姑娘i/ 2022年05月31日 14:52/ 0 赞/ 179 阅读
相关 1027. 打印沙漏(20) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏形状”,是指每 Bertha 。/ 2022年05月26日 05:47/ 0 赞/ 159 阅读
相关 PTA练习(1.15)打印沙漏、个位数统计 L1-002 打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 蔚落/ 2022年03月26日 06:30/ 0 赞/ 162 阅读
相关 作业1:打印沙漏 7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“”,要求按下列格式打印 \\\\ \\\ --------- 不念不忘少年蓝@/ 2021年12月24日 15:43/ 0 赞/ 246 阅读
相关 PTA:打印沙漏 打印沙漏 (20 分) -------------------- 文章目录 打印沙漏 (20 分) 1. 题目描述 2. 输入格式 柔光的暖阳◎/ 2021年09月26日 15:26/ 0 赞/ 431 阅读
相关 java 打印沙漏 打印沙漏, 打印出如下形状 \\\\\\\ \\\\\ \\\ \ \\\ \\\\\ \\\\\\\ /第一种方法 墨蓝/ 2021年09月19日 22:18/ 0 赞/ 338 阅读
相关 1027.打印沙漏 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“\”,要求按下列格式打印 所谓“沙漏形状”,是指每 梦里梦外;/ 2021年09月12日 07:56/ 0 赞/ 337 阅读
还没有评论,来说两句吧...