L1-002 打印沙漏
L1-002 打印沙漏
问题描述
问题分析
最关键的一点是要知道行数,有了行数就都好操作了,打印最大的沙漏其实可以简化为找到最大的行数,有了行数就是简单的打印了,将整个沙漏分成上下两个部分,上部是一个倒三角去掉最后一行的一个符号,下部分是一个三角形。
代码
#include<iostream>
using namespace std;
int print (int n,char s) {int num,sum = 1 ,m = 3;while (sum <= n) {num = sum;sum += m * 2;m += 2;};m -= 4;for(int i = 0; i < m / 2; i++) {for(int j = 0; j < i; j++) {cout << " ";}for(int j = 0; j < m-(i*2); j++) {cout << s;}cout << "\n";} for(int i = 0; i < m / 2 + 1; i++) {for(int j = m/ 2; j > i; j--) {cout << " ";}for(int j = 1; j <= i*2 + 1; j++) {cout << s;}cout << "\n";} return n - num;
}
int main()
{int n;char s;cin >> n >> s;cout << print(n,s);
}
代码思路
发现一个规律,从小到大的沙漏行数对应:1 3 5 7 9这样一个数列,每一个沙漏从小到大对应的符号个数:1 1+3*2 1+3*2+5*2 1+3*2+5*2+7*2 1+3*2+5*2+7*2+9*2,有了这个规律就可以判断行数了,从1开始计算符号数,行数每次假2,如果发现结果大于输入的数,那么上一次的行数就是对应最大的行数,然后根据行数打印沙漏。
L1-002 打印沙漏相关推荐
- 7-1 打印沙漏 (20 分)
** 7-1 打印沙漏 (20 分) ** 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ************ ***** 所谓&q ...
- (C++)1027 打印沙漏
笔记:星号右边的空格不用打印 #include<cstdio> #include<cmath> #include<cstring> #include<algo ...
- PAT_B_1027 打印沙漏
题目描述: 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印************ ***** 所谓"沙漏形状",是指 ...
- PTA L1_002 打印沙漏(C语言)
PTA L1_002 打印沙漏(C语言) 用C语言打印一个沙漏 一.题目概要 二.题目分析 三.解题思路 (一).给定的字符可以打印几行 (二).剩余的字符数 (三).如何输出沙漏 四.代码一览 五. ...
- C语言程序练习-L1-002 打印沙漏 (20分)
L1-002 打印沙漏 (20分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数 ...
- 1027. 打印沙漏(20)
1027. 打印沙漏(20) C++AC代码(更新于2017年4月9日) 解题思路,注意到行数与第一行和最后一行字符数都是相等的,根据等差数列找关系 #include <iostream> ...
- CCCC L1-002. 打印沙漏【图形打印】
L1-002. 打印沙漏 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给 ...
- C++学习之路 | PTA乙级—— 1027 打印沙漏 (20 分)(精简)
1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个 ...
- c++string转char数组_C++ 算法题解:打印沙漏、素数对猜想、数组元素循环右移问题...
作者:鲸90830 链接:https://www.cnblogs.com/whale90830/p/10688802.html DS_起步自测 中国大学MOOC_陈越.何钦铭_数据结构_起步能力自测 ...
- 7-138 打印沙漏 (20 分)
7-138 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ************ ***** 所谓" ...
最新文章
- 目前python主要应用领域零售_python3读取HDA零售企业数据(一)
- char str[]与char *str的区别
- FreeCAD v0.19源码编译与VS2017+Qt5环境搭建
- Safari支不支持HTML5录音? 现在浏览器中最好的解决方案是WebRTC下的 navigator.getUserMedia API。...
- 美团深度学习系统的工程实践
- kobject_create_and_add解析
- 【C语言】创建一个函数,判断某一正整数是否为素数,并调用这个函数找出1000以内所有素数...
- jde多目标_《和平精英》PEL职业联赛S3赛季:DKG战队获第四周周冠军,JDE“逆风翻盘”...
- vant ui 官方文档_转载:微信小程序UI组件库合集
- 软件架构风格-调用/返回风格
- 估计的商是什么意思_商_商是什么意思_商字怎么读_商的含义_商字组词-新东方在线字典...
- php doc生成pdf文件怎么打开乱码,phpexcel 导出pdf文件乱码,该如何解决
- 声学模型训练-嵌入式训练
- 现在的男生为什么不主动追求女生了
- xpdl关于join和split的定义的翻译。(转)
- 【数据异常校验】拉依达准则( PauTa Criterion 或 3σ准则) 处理异常数据
- HTMLa标签常用的四种链接
- 计算机应用有作业吗,计算机应用基础_作业1
- 10亿数据中取最大的100个数据
- 《高级数据库系统》学习笔记