题目描述

谢尔宾斯基三角形是一种分形,正常情况它长这样的:

我们定义1阶的三角形为:

   *    * *   * * *
* * * *

2阶的三角形为:

       *        * *       * * *      * * * *     *       *    * *     * *   * * *   * * *
* * * * * * * *

现在输入n,请你打印出n阶的三角形

输入格式

输入一个整数n(n<10)。

输出格式

打印出n阶的三角形。

样例

输入样例复制

2

输出样例复制

       *        * *       * * *      * * * *     *       *    * *     * *   * * *   * * *
* * * * * * * *

数据范围与提示

1 <= n < 10

这道题其实不难,只需用递归即可

代码如下:

#include<bits/stdc++.h>
using namespace std;
int h[20]={0,4};
int l[20]={0,7};char map1[1060][2080];void print(int x,int y){map1[x][y+3]='*';map1[x+1][y+2]=map1[x+1][y+4]='*';map1[x+2][y+1]=map1[x+2][y+3]=map1[x+2][y+5]='*';map1[x+3][y]=map1[x+3][y+2]=map1[x+3][y+4]=map1[x+3][y+6]='*';
}
void f(int n,int x,int y){if(n==1){print(x,y);return ;}else{f(n-1,x,y+l[n-1]/2+1);f(n-1,x+h[n-1],y);f(n-1,x+h[n-1],y+l[n-1]+1);}
}
int main(){int n;cin>>n;for(int i=2;i<=n;i++){h[i]=h[i-1]*2;l[i]=l[i-1]*2+1;}f(n,1,1);for(int i=1;i<=h[n];i++){for(int j=1;j<=l[n];j++){if(map1[i][j]=='*'){cout<<"*";}else{cout<<" ";}}cout<<endl;}    return 0;
}

OJ密码岛 1243.谢尔宾斯基三角形相关推荐

  1. python螺旋圆的绘制_python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)...

    插图工具使用Python内置的turtle模块,为什么叫这个turtle乌龟这个名字呢,可以这样理解,创建一个乌龟,乌龟能前进.后退.左转.右转,乌龟的尾巴朝下,它移动时就会画一条线.并且为了增加乌龟 ...

  2. 混沌与分形(一):谢尔宾斯基三角形与门格海绵

    研究混沌运动,少不了对分形理论的探讨.分形:通常被定义为"一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状",即具有自相似的性质. 本篇将从 ...

  3. turtle库使用教程 及 绘制 浪漫樱花 五角星 彩虹玫瑰 谢尔宾斯基三角形 实例

    目录 一.turtle简介 二.绘图坐标体系 三.笔画控制函数 四.形状绘制函数 五.颜色填充 六.浪漫樱花代码实例 七.五角星代码实例 八.彩虹玫瑰代码实例 九.谢尔宾斯基三角形代码实例 一.tur ...

  4. Python数据结构15:turtle模块制图,画直线,正方形,星星,递归可视化:分形树,谢尔宾斯基三角形

    1. Python中的turtle模块制图 前面已经讲了递归的原理,这里用递归作图来直观的理解递归. 首先了解以下Python中用于作图的内置海龟作图系统turtle module. Python内置 ...

  5. 数据结构与算法(Python版)二十二:递归可视化(谢尔宾斯基三角形)

    谢尔宾斯基Sierpinski三角形 分形构造, 平面称谢尔宾斯基三角形, 立体称谢尔宾斯基金字塔 谢尔宾斯基三角形:作图思路 根据自相似特性, 谢尔宾斯基三角形是由3个尺寸减半的谢尔宾斯基三角形按照 ...

  6. Python实验舱谢尔宾斯基三角形绘制教程

    三角形,大家应该再熟悉不过了. 上图是一个由四个小三角形拼成的大三角形,也叫谢尔宾斯基三角形. 谢尔宾斯基三角形还能继续画下去: 2阶(上图是1阶): 3阶: 5阶: 8阶: (小编奉劝一句:不要试图 ...

  7. 学习Python中turtle模块的基本用法(4:绘制科赫曲线和谢尔宾斯基三角形)

      科赫曲线和谢尔宾斯基三角形是常见的分形图形(详细介绍见参考文献1),本文使用turtle库绘制这两类图形. 科赫曲线   科赫曲线的详细介绍见参考文献2,其中的绘图思路是"画正三角形,并 ...

  8. 谢尔宾斯基三角形GUI

    源代码:https://github.com/ltoddy/Python-useful sierpinskitriangle.py from tkinter import *class Sierpin ...

  9. 小练手:用Canvas绘制谢尔宾斯基三角形

    转载<小练手:用Canvas绘制谢尔宾斯基三角形> 补充 作者第二种画法的完整程序: PS:修改function SierpinskiTriangle(p,len,depth = 9)中d ...

  10. 分形——谢尔宾斯基三角形

    分形--谢尔宾斯基三角形 普通几何学研究的对象,一般都具有整数的维数.比如,零维的点.一维的线.二维的面.三维的立体.乃至四维的时空.在20世纪70年代末80年代初,产生了新兴的分形几何学(fract ...

最新文章

  1. python是用什么语言开发的-python是什么语言?哪些人适合学习Python?
  2. Struts2 为什么被淘汰?自己作死!
  3. 【必看】新手妹子一键删库,老司机机智救场
  4. 软件测试报告bug统计,软件测试中如何有效地写Bug报告
  5. 机器值计算机组成,计算机组成原理_数据的机器运算.ppt
  6. Node.js+Express+MongoDB 实现学生增删改查
  7. android 遍历sdcard,Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法...
  8. 最全的mysql 5.7.13_最全的mysql 5.7.13 安装配置方法图文教程(linux) 强烈推荐!
  9. Qt图形界面编程入门(信号和槽通信机制)
  10. ubuntu16.04更改python版本
  11. python sort dict 总结
  12. java 获取dataset_Java OHLCDataset.getX方法代码示例
  13. Go语言学习笔记(一) : 搭建Windows下的Go开发环境
  14. Yandex浏览器 - 可以在手机上安装chrome插件的浏览器
  15. 在华为三层交换机上如何实现不同vlan间的通信
  16. 全网首发 nuScenes数据集(百度网盘 + 迅雷网盘) + 下载方法
  17. java 5分钟_java-时间格式化 整5分钟,整10分钟
  18. 双系统windows+linux如何正确删除linux
  19. C语言编程-7_4 字符统计
  20. 快手的未来,没有宿华

热门文章

  1. ERP系统-销售子系统-销售发货通知单
  2. 探索性测试的分类与测试用例
  3. 【中国农业银行风险管理部总经理 田继敏】筑牢IT风险第二道防线 保障银行信息科技安全
  4. Wiki管理工具有哪些?11款Wiki工具对比
  5. Nacos配置热更新的4种方式、读取项目配置文件的多种方式,@value,@RefreshScope,@NacosConfigurationProperties
  6. Linux命令:查看服务器IP地址
  7. Java 判断中文及标点符号
  8. 触摸屏调出虚拟键盘_win7系统中打开虚拟键盘的两种方法(屏幕键盘)
  9. 关于嵌入式软件系统测试策略和方案设计详解
  10. 谈如何整定PID参数