xtu 1397 Patchouli的金字塔
题目描述:
Patchouli想要绘制一个金字塔。金字塔的图案由n个正三角形和倒三角形堆叠而成,具体的绘制方法如下:
每个三角形由
*
,/
,\
和-
组成,分别代表三角形的顶点和三条边。第一行只包含一个正三角形,其余各行的三角形按照”正三角形,倒三角形,正三角形,倒三角形,…… “的顺序紧致排列。
除最后一行外,每一行的三角形比上一行多2个。一共输出n个三角形。
例如,n=1时,图案如下:
*/ \ * - *
n=2时,图案如下:
*/ \* - */ \ * - *
n=3时,图案如下:
*/ \* - */ \ / * - *
n=7时,图案如下:
*/ \* - */ \ / \* - * - */ \ / \ * - * - *
Patchouli想知道n个三角形组成的金字塔的图案是怎样的?
输入
第一行包含一个正整数T(1≤T≤100),表示样例的个数。 接下来的T行,每行包含一个正整数n(1≤n≤100),表示金字塔中的三角形的个数。
输出
对于每个样例输出对应的图案。每行的行末不包含多余的空格。
我的思路:
1.先把第一个*号输出
2.把输出/ \和输出* - *看做一层,每输入一个n就计算打印几层
3.每层第一行先输出“/ \”,第二行先输出“* - *”,之后第一行看需求输出‘/ ’,第二行看需求输出‘ - *’
4.输出几个' /',' \'我是定义一个count计数,到了就break,' - * '也同理。(看代码可以懂的)
#include <stdio.h>
int main ()
{int T,n,i,j;scanf("%d",&T);while (T--){int cen=1,count1=0,count2=0;scanf("%d",&n);while (cen*cen<n) cen++;//计算层数 for (i=0;i<2*cen;i++) printf(" ");//输出空格就是找规律 printf("*\n");for (i=1;i<=cen;i++){for (j=0;j<2*(cen-i+1)-1;j++) printf(" ");printf("/ \\");count1++;if (count1<n){for (j=2;j<2*i;j++){if (j%2==0){printf(" /");count1++;}if (count1>=n) break;else if (j%2!=0){printf(" \\");count1++;}if (count1>=n) break;}}printf("\n");for (j=0;j<2*(cen-i+1)-2;j++) printf(" ");printf("* - *");count2++;if (count2+1<n){for (j=0;j<i-1;j++){printf(" - *");count2+=2;if (count2+1>=n) break;}}printf("\n");}}return 0; }
xtu 1397 Patchouli的金字塔相关推荐
- XTU OJ 1397 Patchouli的金字塔
题目描述 Patchouli想要绘制一个金字塔.金字塔的图案由n个正三角形和倒三角形堆叠而成,具体的绘制方法如下: 每个三角形由*,/,\和-组成,分别代表三角形的顶点和三条边. 第一行只包含一个正三 ...
- xtu oj Patchouli的金字塔
Patchouli想要绘制一个金字塔.金字塔的图案由n个正三角形和倒三角形堆叠而成,具体的绘制方法如下: 每个三角形由*,/,\和-组成,分别代表三角形的顶点和三条边. 第一行只包含一个正三角形,其余 ...
- 学习动力之“学习金字塔 (爱德加•戴尔)”理论
一.什么是学习金字塔? 学习金字塔是美国缅因州的国家训练实验室研究成果,它用数字形式形象显示了:采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少.它是一种现代学习方式的理论.最 ...
- 《OpenCV3编程入门》学习笔记6 图像处理(六)图像金字塔与图片尺寸缩放
6.6 图像金字塔与图片尺寸缩放 6.6.1 图像金字塔 1.图像金字塔是图像中多尺度表达的一种,主要用于图像分割,是一种以多分辨率解释图像的结构,通过梯次向下采样获得分辨率逐步降低的图象集合 2.分 ...
- OpenCV+python:图像金字塔
1,图像金字塔的概念 图像金字塔是一种以多分辨率来解释图像的有效但概念简单的结构.应用于图像分割,机器视觉和图像压缩.一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图 ...
- Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()
Python,OpenCV图像金字塔cv2.pyrUp, cv2.pyrDown 1. 效果图 2. 原理 2.1 什么是图像金字塔 2.2 金字塔分类 2.3 应用 3. 源码 参考 这篇博客将介绍 ...
- 使用Python和OpenCV构建图像金字塔
使用Python和OpenCV的图像金字塔 1. 效果图 2. 什么是图像金字塔? 3. 依赖 4. 源码 参考 这篇博客将介绍如何使用两种方法构造图像金字塔. 使用Python和OpenCV构建金字 ...
- OpenCV-Python形态变换、图像金字塔、轮廓属性、直方图
OpenCV基础 1. Morphological Transformations(形态变换) 2. Image Pyramids(图像金字塔) 3. Contours(轮廓) 4. 轮廓的特性进阶 ...
- 图像金字塔与resize函数
图像金字塔 将一层层图像比喻成金字塔,层级越高,图像越小,分辨率越低. 高斯金字塔:向下降采样: 拉普拉斯金字塔:向上采样,通过金字塔低层图像重建上层未采样图像: 金字塔的产生 用高斯核对图像进行卷积 ...
最新文章
- 区块链BaaS云服务(29) 溪塔科技 CITA-Cloud
- LeetCode 838. 推多米诺(模拟)
- matlab编译器安装在哪里,MATLAB的m文件编辑器在哪里?
- zabbix系列zabbix3.4监控mysql5.7
- 使用OpenCV进行图片模糊处理(归一化滤波器)
- 软件测试中什么是正交分析法,软件测试用例设计方法之正交分析法
- Proe/Creo经典曲面造型实战案例大合集
- java bmp透明底色_C++ 设置透明背景图片
- 时间复杂度o(1), o(n), o(logn), o(nlogn)
- haproxy配置timeout
- kingbase 数据库初始化失败
- SQP21-19-10-1CC-18高压定量叶片泵
- 元白:欲买桂花同载酒,终不似,少年游。
- vue 调色器和js-web-screen-shot截图插件
- MarkDown的简介
- C语言第二课,分支语句和循环语句
- 一个学员去了互联网大厂一个笔试题分享
- 计算机打开服务的命令行,Win7使用命令行启动和停止Windows服务程序技巧
- pyaudio安装失败的解决方法
- 用C++实现仿QQ屏幕截图功能,以后不登QQ也能截图!