PAT乙级—1027. 打印沙漏(20)-native
来源:互联网 发布:淘宝可以买男朋友链接 编辑:程序博客网 时间:2024/05/16 11:29
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印
***** *** * ********
所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
输入格式:
输入在一行给出1个正整数N(<=1000)和一个符号,中间以空格分隔。
输出格式:
首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。
输入样例:
19 *
输出样例:
***** *** * ********
2
思路:此题计算出1000以内可以组成沙漏的符号个数存于a数组,遍历a数组找到第一个>N的元素,则它的前一个元素即为题意要求的沙漏的符号个数,这里有一个规律即组成沙漏的符号个数除以下标即为沙漏的行数,最后分别输出沙漏的上半部分和下半部分
#include<iostream>#include<cstring>using namespace std;int main(){ int N; int a[50]={0}; char c; cin>>N>>c; int temp=1; int count=1; while(temp<=1000) //找出符合沙漏的符号数 { a[count]=temp; temp=temp+2*(2*count+1);//符号数有此规律 count++; } int left=0,hang=0; for(int i=1;i<count;i++) //注意为防止除以0,a数组第一个元素为a[1] { if(a[i]>N) //算出行数和剩余的符号数 { hang=a[i-1]/(i-1); left=N-a[i-1]; break; } else if(i==count-1)//最后一个1000以内的符号数<1000且下一个>1000 { //1000以内找不到大于N的符号数则就是处理最后一个元素 hang=a[i]/i; left=N-a[i]; } } for(int i=0;i<hang/2+1;i++) //输出沙漏的上半部分 { for(int j=0;j<i;j++)//注意两个for循环 { cout<<" "; } for(int j=0;j<hang-2*i;j++) { cout<<c; } cout<<endl; } for(int i=0;i<hang/2;i++)//输出下半部分 { for(int j=0;j<hang/2-1-i;j++) { cout<<" "; } for(int j=0;j<2*(i+1)+1;j++) { cout<<c; } cout<<endl; } cout<<left<<endl; return 0;}
题目链接:
https://www.patest.cn/contests/pat-b-practise/1027
0 0
- PAT乙级—1027. 打印沙漏(20)-native
- PAT-乙级-1027. 打印沙漏(20)
- PAT乙级.1027. 打印沙漏(20)
- 1027. 打印沙漏(20) PAT 乙级
- PAT 乙级 1027. 打印沙漏(20)
- PAT 乙级 1027. 打印沙漏(20)
- PAT乙级 1027. 打印沙漏(20)
- PAT乙级1027. 打印沙漏(20)
- [PAT乙级]1027. 打印沙漏(20)
- PAT 乙级 1027.打印沙漏(20)
- pat 乙级 1027. 打印沙漏(20)
- 1027. 打印沙漏(20)--PAT乙级
- PAT乙级1027. 打印沙漏(20)
- PAT乙级1027. 打印沙漏(20)
- PAT乙级1027. 打印沙漏(20)
- PAT训练(乙级)—— 1027. 打印沙漏(20)
- PAT 乙级 1027. 打印沙漏
- [PAT-乙级]1027.打印沙漏
- Cyclone器件全局时钟尽在掌控
- 自由软件之父Richard Stallman及其思想
- 小白排序之选择排序
- HTML5培训第13节课堂笔记(mui绑定事件、预加载页面传值、懒加载、tabbar的切换)
- 通知的简单运用
- PAT乙级—1027. 打印沙漏(20)-native
- 皇宫看守 树形DP
- 欢迎使用CSDN-markdown编辑器
- Is it possible to let gcc 4.7 and gcc 4.8 co-exist
- 阅读郭林《第一行代码》的笔记——第1章 开始启程,你的第一行Android代码
- 探索推荐引擎内部的秘密,第 2 部分: 深入推荐引擎相关算法 - 协同过滤
- bfs和dfs
- ural 1039 没有上司的晚会 树形dp
- Java设计模式