【算法笔记】B1027 打印沙漏】的更多相关文章

1027 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两行符号数差2:符号数先从大到小顺序递减到1,再从小到大顺序递增:首尾符号数相等. 给定任意N个符号,不一定能正好组成一个沙漏.要求打印出的沙漏能用掉尽可能多的符号. 输入格式: 输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔. 输出格式: 首先打…
思路: 使用数组保存每一行沙漏的最大符号数 输入一个正整数和一个符号 遍历数组,找到大于正整数的数组下标 j. 三角形底边的字符数为 (j - 1) * 2 - 1 打印沙漏 打印剩余字符:x - n[j - 1] AC代码 #include <cstdio> const int max_n = 200; int n[max_n] = {0}; int i = 3; void init() { n[1] = 1; n[2] = 7; int sum = 0; while(n[i-1] <…
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805294251491328 1027 打印沙漏 (20 分)   本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两行符号数差2:符号数先从大到小顺序递减到1,再从小到大顺序递增:首尾符号数相等. 给定任意N个符…
本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两行符号数差2:符号数先从大到小顺序递减到1,再从小到大顺序递增:首尾符号数相等. 给定任意N个符号,不一定能正好组成一个沙漏.要求打印出的沙漏能用掉尽可能多的符号. 输入格式: 输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔. 输出格式: 首先打印出由给定符号组成的最大的沙漏形状…
#include<cstdio> #include<stdlib.h> char C='*'; int qiushu(int hang){//输入行数,求出字符数 int sum=1; for(int i=3;i<=hang;i+=2){ sum+=(1+i/2*2)*2; } return sum; } void dayin(int hang){ for(int i=0;i<hang/2+1;i++){ for(int j=0;j<i;j++){ printf(…
目录 1 问题描述 2 解决方案   1 问题描述 *********** * * * ******* * * * * * * * *** * * * * * * * * * * *** * * * * * * * ******* * * * *********** 观察这个图形,它是由一系列正方形的星号方框嵌套而成. 在上边的例子中,最外方框的边长为11. 本题的任务就是从标准输入获得一个整数n(1<n<100) 程序则生成嵌套着的回字型星号方框.其最外层方框的边长为n 例如: 输入: 5…
乙级1036 1036 跟奥巴马一起编程 (15 point(s)) 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形.现在你也跟他一起画吧! 输入格式: 输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格. 输出格式: 输出由给定字符 C 画出的正方形.但是注意到行间距比列间距大,所以为了让结果看上去…
算法笔记(c++)--经典01背包问题 算法解释起来太抽象了.也不是很好理解,最好的办法就是一步步写出来. 背包问题的核心在于m[i][j]=max(m[i-1][j],m[i-1][j-w[i]]+v[i])这个公式理解起来还是有点麻烦的特别我这种脑子笨的人.所以我先上段代码,然后那数据一步步分析就行了. 先上代码:代码稍微看看就行了,关键我下面的解释,走一遍就懂了. #include <iostream> #include<algorithm> using namespace…
算法笔记(c++)--桶排序 记得题目是排序,输入n个1-1000的数字然后去重然后排序. 桶排序没毛病 #include<iostream> using namespace std; int main() { int N,n; cin>>N; ]=; while(N--) { cin>>n; a[n]=; } ; } 这样输入的同时就排序好了,到时候 if(a[i]==1) cout<<a[i] 就可以打印出排序好的内容了…
开始进行算法笔记的学习,在此纪录下来,同时作为自己日后复习资料. 1.基本语法 #include <iostream> using namespace std; int main(){ cout<<"hello"<<endl; return 0; } 以上是最基础的一个代码端: 引入头文件:#include <iostream> 引入命名空间(相当于2个不同的人可以拥有同一件物品,并且使用的时候没有冲突):using namespace…