题目描述:

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的金字塔相关推荐

  1. XTU OJ 1397 Patchouli的金字塔

    题目描述 Patchouli想要绘制一个金字塔.金字塔的图案由n个正三角形和倒三角形堆叠而成,具体的绘制方法如下: 每个三角形由*,/,\和-组成,分别代表三角形的顶点和三条边. 第一行只包含一个正三 ...

  2. xtu oj Patchouli的金字塔

    Patchouli想要绘制一个金字塔.金字塔的图案由n个正三角形和倒三角形堆叠而成,具体的绘制方法如下: 每个三角形由*,/,\和-组成,分别代表三角形的顶点和三条边. 第一行只包含一个正三角形,其余 ...

  3. 学习动力之“学习金字塔 (爱德加•戴尔)”理论

    一.什么是学习金字塔? 学习金字塔是美国缅因州的国家训练实验室研究成果,它用数字形式形象显示了:采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少.它是一种现代学习方式的理论.最 ...

  4. 《OpenCV3编程入门》学习笔记6 图像处理(六)图像金字塔与图片尺寸缩放

    6.6 图像金字塔与图片尺寸缩放 6.6.1 图像金字塔 1.图像金字塔是图像中多尺度表达的一种,主要用于图像分割,是一种以多分辨率解释图像的结构,通过梯次向下采样获得分辨率逐步降低的图象集合 2.分 ...

  5. OpenCV+python:图像金字塔

    1,图像金字塔的概念 图像金字塔是一种以多分辨率来解释图像的有效但概念简单的结构.应用于图像分割,机器视觉和图像压缩.一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图 ...

  6. Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()

    Python,OpenCV图像金字塔cv2.pyrUp, cv2.pyrDown 1. 效果图 2. 原理 2.1 什么是图像金字塔 2.2 金字塔分类 2.3 应用 3. 源码 参考 这篇博客将介绍 ...

  7. 使用Python和OpenCV构建图像金字塔

    使用Python和OpenCV的图像金字塔 1. 效果图 2. 什么是图像金字塔? 3. 依赖 4. 源码 参考 这篇博客将介绍如何使用两种方法构造图像金字塔. 使用Python和OpenCV构建金字 ...

  8. OpenCV-Python形态变换、图像金字塔、轮廓属性、直方图

    OpenCV基础 1. Morphological Transformations(形态变换) 2. Image Pyramids(图像金字塔) 3. Contours(轮廓) 4. 轮廓的特性进阶 ...

  9. 图像金字塔与resize函数

    图像金字塔 将一层层图像比喻成金字塔,层级越高,图像越小,分辨率越低. 高斯金字塔:向下降采样: 拉普拉斯金字塔:向上采样,通过金字塔低层图像重建上层未采样图像: 金字塔的产生 用高斯核对图像进行卷积 ...

最新文章

  1. 区块链BaaS云服务(29) 溪塔科技 CITA-Cloud
  2. LeetCode 838. 推多米诺(模拟)
  3. matlab编译器安装在哪里,MATLAB的m文件编辑器在哪里?
  4. zabbix系列zabbix3.4监控mysql5.7
  5. 使用OpenCV进行图片模糊处理(归一化滤波器)
  6. 软件测试中什么是正交分析法,软件测试用例设计方法之正交分析法
  7. Proe/Creo经典曲面造型实战案例大合集
  8. java bmp透明底色_C++ 设置透明背景图片
  9. 时间复杂度o(1), o(n), o(logn), o(nlogn)
  10. haproxy配置timeout
  11. kingbase 数据库初始化失败
  12. SQP21-19-10-1CC-18高压定量叶片泵
  13. 元白:欲买桂花同载酒,终不似,少年游。
  14. vue 调色器和js-web-screen-shot截图插件
  15. MarkDown的简介
  16. C语言第二课,分支语句和循环语句
  17. 一个学员去了互联网大厂一个笔试题分享
  18. 计算机打开服务的命令行,Win7使用命令行启动和停止Windows服务程序技巧
  19. pyaudio安装失败的解决方法
  20. 用C++实现仿QQ屏幕截图功能,以后不登QQ也能截图!

热门文章

  1. 学习ES6 The Dope Way Part I:const,let&var
  2. 一步一步搭建一个图片上传网站(后台服务器用nodejs)
  3. QUIC协议原理详解
  4. 一个程序员的跨洋找工作分享
  5. Poly-YOLO 学习
  6. Android Studio-- Android模拟器上启用互联网(WLAN/移动网络)
  7. [bzoj4722]由乃
  8. MySQL 中你应该使用什么数据类型表示时间?
  9. 过上等生活,享下等情欲
  10. 使用蒙特卡洛技术解决一个小虫爬铁丝问题。