pat 乙级 1027 打印沙漏(C++)

题目

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

19 *

输出样例:

在这里插入图片描述

分析

  • 从中间看,沙漏本质上是一个首项为1,公比为2的等差数列。
  • 通项公式an=a1+(n-1)d,前n项和Sn=a1+n(n-1)*d/2。代入首项和公比,an=2n-1,Sn=n2.
  • 一个沙漏的总字符数=2Sn-1=2n2-1,再由输入的字符数可计算出剩余字符个数。

AC代码

#include<iostream>
#include<cmath>
using namespace std;
int main()
{int i,j,N;char c;cin>>N>>c;double a=(double)(N+1)/2;int num=floor(sqrt(a));//上半部分for(i=num;i>=1;i--){for(j=0;j<num-i;j++)cout<<" ";for(j=0;j<2*i-1;j++)cout<<c;// for(j=0;j<num-i;j++)//    cout<<" ";cout<<endl;}//下半部分for(i=2;i<=num;i++){for(j=0;j<num-i;j++)cout<<" ";for(j=0;j<2*i-1;j++)cout<<c;// for(j=0;j<num-i;j++)//    cout<<" ";cout<<endl;}cout<<N-(2*num*num-1);
}

刚开始每行字符后面加了空格,后面提示"格式不对"。然后,只要求符号中心对齐,并没有要求后面的空格。也就是说,做题的时候,要紧跟题意,不要过于理解。

如果这篇文章对你有帮助,动动可爱的小手点个赞呗!
有任何问题,欢迎评论区交流。

更多题解
pat 乙级 题解汇总(持续更新)(C++)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kogito人机规则-第1部分:进一步解决流口水

Kogito计划是我们承诺将我们的业务自动化套件引入云和更大的Kubernetes生态系统的承诺。 但这对我们钟爱的规则引擎Drools意味着什么&#xff1f; 在这篇文章中&#xff0c;我们介绍使用规则单元的模块化规则库&#xff1a; 一个特点&#xff0c;一直是在Drools中7一段时间的…

chrome 占用大量内存直到网页崩溃_Chrome吃内存太夸张!几招解决Chrome占内存硬伤...

我们知道Chrome是非常出色的浏览器&#xff0c;无论从性能还是功能的角度来看&#xff0c;都是如此。但是Chrome在内存占用方面的表现&#xff0c;就很令人头疼了&#xff01;常常听到有朋友抱怨&#xff0c;想要上网找找素材&#xff0c;不一会儿发现Chrome已经将PS要用的内存…

pat 乙级 1014 福尔摩斯的约会 (C++)

题目 大侦探福尔摩斯接到一张奇怪的字条&#xff1a; 我们约会吧&#xff01;3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了&#xff0c;字条上奇怪的乱码实际上就是约会的时间星期四 14:04. 因为前面两字符串中第 1 对相同的大写英文字…

windows和ubuntu双系统设置开机默认系统

1、记住grub界面中windows的位置 我的界面如下&#xff1a;windows在第3行 2、选择进入ubuntu系统 3、打开终端&#xff0c;输入如下命令 sudo vim /etc/default/grub 4、看到如下图的内容 GRUB_DEFAULT是开机启动的默认项&#xff08;我的windows是第3行&#xff0c;所以此…

jenkins jboss_与JBoss Fuse,Jenkins和Nexus的持续集成

jenkins jboss最近&#xff0c;我正在整理一个快速启动的Maven项目&#xff0c;以展示组织JBoss Fuse项目的可能方法。 该项目可以在Github上找到&#xff1a; https : //github.com/paoloantinori/fuse_ci 这是我与朋友詹姆斯罗林斯 &#xff08; James Rawlings&#xff09…

完全禁用Microsoft Compatibility Telemetry

完全禁用Microsoft Compatibility Telemetry Win S 中搜索 任务计划程序 /Microsoft/Windows/Application Experience 禁用 Microsoft Compatibility Appraiser 如果不管用 服务里禁用 Diagnostic Policy Service

第19次csp认证 202006-2 稀疏向量(C++)

题目 分析 本题需要计算的是两个n维向量的内积&#xff0c;只需计算两者对应的稀疏向量index相同的分量乘积&#xff0c;然后累加就可以了。 向量的一个分量包含index和value&#xff0c;使用struct来存储比较方便。n<109&#xff0c;a,b<5 * 105&#xff0c;|ui| * |v…

将指标标签与MicroProfile Metrics 2.0结合使用

从我们的应用程序发出的与业务相关的度量标准可能包含要为其测量特定度量标准的参数&#xff08;即标签或标签 &#xff09;。 从MicroProfile Metrics 2.0开始&#xff0c;可以使用API​​将标签分配给特定的指标。 声明式方法 假设我们有以下资源&#xff1a; Path ( "…

解决Windows 10 CPU占用高风扇吵问题

很多笔记本用户在升级到Windows 10后&#xff0c;都遇到了这样一个问题&#xff0c;那就是Windows 10的CPU占用明显高于Windows 7。这个问题对于台式机可能还算不了什么&#xff0c;顶多就是偶尔卡一下罢了。可由于笔记本大多采用变速风扇&#xff0c;CPU温度飙高时&#xff0c…

pat 乙级 1010 一元多项式求导(C++)

题目 设计函数求一元多项式的导数。&#xff08;注&#xff1a;x​n&#xff0c;n为整数&#xff09;的一阶导数为nx​n−1 。&#xff09; 输入格式: 以指数递降方式输入多项式非零项系数和指数&#xff08;绝对值均为不超过 1000 的整数&#xff09;。数字间以空格分隔。 …

pat 乙级 1009 说反话 (C++)

题目 给定一句英语&#xff0c;要求你编写程序&#xff0c;将句中所有单词的顺序颠倒输出。 输入格式&#xff1a; 测试输入包含一个测试用例&#xff0c;在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成&#xff0c;其中单词是由英文字母&#xff0…

知识图谱 图数据库 推理_图数据库的知识表示与推理

知识图谱 图数据库 推理图形数据库及其技术生态系统可以为知识表示和推理问题提供优雅&#xff0c;有效的解决方案。 要了解这种说法&#xff0c;我们必须首先了解什么是图形。 图是一种数据结构。 图数据结构的类型很多&#xff0c;但出于本文的目的&#xff0c;我们将重点介绍…

ubuntu中安装sublime text3用于python编程

以下用到的文件下载地址为 网盘链接&#xff1a;https://pan.baidu.com/s/1hP0IE8NwcIKKGqwo1SWCXQ 提取码&#xff1a;4c66 1. 编译器安装 &#xff08;1) 添加sublime text3的软件源&#xff1b; sudo add-apt-repository ppa:webupd8team/sublime-text-3&#xff08;2&…

pat 乙级 1008 数组元素循环右移问题(C++)

题目 一个数组A中存有N&#xff08;>0&#xff09;个整数&#xff0c;在不允许使用另外数组的前提下&#xff0c;将每个整数循环向右移M&#xff08;≥0&#xff09;个位置&#xff0c;即将A中的数据由&#xff08;A​0 A​1 ⋯A​N−1&#xff09;变换为&#xff08;A​N−…

Java单依赖性Dockerized HTTP端点

在本文中&#xff0c;我们将创建一个基于Java的HTTP端点&#xff0c;用它创建一个可执行jar&#xff0c;将其打包在Docker中&#xff0c;然后立即在本地运行。 本文面向初学者&#xff0c;他们想要寻找一个简单的演练来在Docker中运行Java应用程序。 描述Dockerized环境中Jav…

ubuntu的home目录下,Desktop等目录消失不见

第一步&#xff1a;创建相应的文件夹 首先当然是创建几个相应的英文文件夹喽&#xff0c;比如&#xff1a;Desktop、Downloads、 Documents、 Music、 Pictures、 Videos , Templates , Public…… 第二步&#xff1a;编辑配置文件 gedit ~/.config/user-dirs.dirs 修改内容&a…

java状态模式和策略模式_Java状态和策略设计模式之间的差异

java状态模式和策略模式为了在Core Java应用程序中正确使用状态和策略设计模式&#xff0c;对于Java开发人员清楚地了解它们之间的区别很重要。 尽管状态和策略设计模式的结构相似&#xff0c;并且都基于开放式封闭设计原则&#xff0c;从SOLID设计原则表示为“ O”&#xff0c…

pat 乙级 1013 数素数(C++)

题目 令 P​i表示第 i 个素数。现任给两个正整数 M≤N≤10​4&#xff0c;请输出 PM到 P​N的所有素数。 输入格式&#xff1a; 输入在一行中给出 M 和 N&#xff0c;其间以空格分隔。 输出格式&#xff1a; 输出从 P​M到 P​N 的所有素数&#xff0c;每 10 个数字占 1 行…

c++cout制表符左对齐

话不多说&#xff0c;直接上码&#xff1a; #include<iostream> #include<iomanip> using namespace std;int main() {double a12.112344;double b1.53;cout<<setiosflags(ios::fixed)<<setprecision(6)<<setiosflags(ios::left);cout<<s…

pat 乙级 1015 德才论(C++)

题目 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”&#xff1a;“是故才德全尽谓之圣人&#xff0c;才德兼亡谓之愚人&#xff0c;德胜才谓之君子&#xff0c;才胜德谓之小人。凡取人之术&#xff0c;苟不得圣人&#xff0c;君子而与之&#xff0c;与其得小人&…