【发布时间】:2011-04-22 19:13:33
【问题描述】:
我有这个作业需要打印星号来绘制一个三角形。
当drawTriangle(0);
*
当drawTriangle(1);
*
**
当drawTriangle(2);
*
**
* *
****
当drawTriangle(3);
*
**
* *
****
* *
** **
* * * *
********
当drawTriangle(4);
*
**
* *
****
* *
** **
* * * *
********
* *
** **
* * * *
**** ****
* * * *
** ** ** **
* * * * * * * *
****************
当drawTriangle(5);
*
**
* *
****
* *
** **
* * * *
********
* *
** **
* * * *
**** ****
* * * *
** ** ** **
* * * * * * * *
****************
* *
** **
* * * *
**** ****
* * * *
** ** ** **
* * * * * * * *
******** ********
* * * *
** ** ** **
* * * * * * * *
**** **** **** ****
* * * * * * * *
** ** ** ** ** ** ** **
* * * * * * * * * * * * * * * *
********************************
任何建议将不胜感激。干杯。
【问题讨论】:
-
您能发布一些适用于
drawTriangle(0)的代码吗?您究竟需要什么帮助? -
你可以看到模式,不是吗?在每个级别复制你所拥有的三遍,在左上角留下一个空白。因此,从一个带有单个星的单行缓冲区开始,然后在每个级别将每一行 L 映射到 len(L) 个空格 + L 和 L + L 并组装。但这确实是一个迭代操作 - 我看不到递归的必要性或用途,并且鉴于您在文本中并排构建三角形,我也看不到任何简单的方法来硬塞它。还是这个图形?
-
@Ishtar 我需要执行此操作的逻辑,而不是代码。
-
@Rup 这个 qns 正在递归中,他们要求在递归中完成。无论如何,三角形 5 由许多三角形 4、三角形 3 和三角形 2 组成。但基线仍然是三角形 2
-
这被称为谢尔宾斯基三角形。