c 递归实现谢宾斯基三角形
1.谢宾斯基三角形c 代码实现
#include<stdio.h>
#include<stdlib.h>//全局变量
char a[1000][1000];//输入边长n 与底边坐标中点横坐标x 纵坐标y 画内三角
void draw(int n,int x,int y){if(n<2) return; //边长为1 无法分割 直接返回int i;for(i=1;i<=n-1;i++){//1. 左边\ -a[x-n][y-i+1] = '_'; //画横线a[x-i+1][y-i+1] = '\\'; //画斜线//2. 右边/ -a[x-n][y+i] = '_'; //画横线a[x-i+1][y+i] = '/'; //画斜线}a[x-i+1][y-i+1] = '\\';a[x-i+1][y+i] = '/'; //画斜线//分为 左 右 上 三个三角形 继续画其内三角draw(n/2,x,y-n);draw(n/2,x,y+n);draw(n/2,x-n,y);
}int main()
{int i,j,n;scanf("%d",&n);n = pow(2,n);//initfor(i = 1;i< 500;i++){for(j = 1;j< 1000;j++){a[i][j] = ' ';}}//printf("%d\n",n);//calculate///1. 根据n画出大三角for(i = 1;i<=2*n;i++){a[n][i] = '_'; //画直线if(i<=n){a[n-i+1][i] = '/'; //画左斜线}else{a[i-n][i] = '\\'; //画右斜线}}///2. 递归的进行分割draw(n/2,n,n);//showfor(i = 1;i<=n;i++){for(j = 1;j<=2*n;j++){printf("%c",a[i][j]);}printf("\n");}return 0;
}
2.部分结果展示
参考博文:https://www.cnblogs.com/lfri/p/10128073.html 谢宾斯基三角形的几种生成方法
c 递归实现谢宾斯基三角形相关推荐
- 递归--谢宾斯基三角形、赛尔平斯基地毯
递归 为实现一个结果,需要调用多次类似的方法,因此会产生重复代码,那么,我们就可以用到递归:递归的正确使用需要条件来退出循环,否则产生存储溢出现象. 谢宾斯基三角形 每一个正三角形三条边中点的连线产生 ...
- c语言画谢宾斯基三角形
谢宾斯基三角形是一个有意思的图形,(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集. 先画一个三角形,然后呢,取三角形的中点, ...
- 谢宾斯基三角形的几种生成方法
简介 谢宾斯基三角形(Sierpinski triangle)是一种分形,由波兰数学家谢宾斯基在1915年提出.它是一种自相似集. 几种生成方法 方法一:去掉中心 取一个实心的三角形(多数用等边三角形 ...
- sierpinski三角形的维数_谢宾斯基三角形的几种生成方法
简介 谢宾斯基三角形(Sierpinski triangle)是一种分形,由波兰数学家谢宾斯基在1915年提出.它是一种自相似集. 几种生成方法 方法一:去掉中心 取一个实心的三角形(多数用等边三角形 ...
- [分形学] 谢宾斯基 (Sierpinski) 三角形,也叫垫片
先说一个程序的实现过程: 随机生成 3 个点 P[0].P[1].P[2]: 随机生成 1 个点 P: 绘制点 P: 随机生成 [0, 2] 内的整数 n: 令 P = P 与 P[n] 的中点: 重 ...
- python螺旋圆的绘制_python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)...
插图工具使用Python内置的turtle模块,为什么叫这个turtle乌龟这个名字呢,可以这样理解,创建一个乌龟,乌龟能前进.后退.左转.右转,乌龟的尾巴朝下,它移动时就会画一条线.并且为了增加乌龟 ...
- Python数据结构15:turtle模块制图,画直线,正方形,星星,递归可视化:分形树,谢尔宾斯基三角形
1. Python中的turtle模块制图 前面已经讲了递归的原理,这里用递归作图来直观的理解递归. 首先了解以下Python中用于作图的内置海龟作图系统turtle module. Python内置 ...
- 小白第一步|Java实现递归分形(以谢尔宾斯基三角形和勾股树为例)
一个递归分形搞得我心态爆炸 于是 我一定要写个博客祭奠一下!!!!!! 首先回顾一下递归的几个要素: 1.return:往上回溯 2.调用自身:往下挖掘 3.设置条件:防止无限递归 4.递归操作:分析 ...
- Java面向对象编程:利用递归思想绘制“谢尔宾斯基地毯”和“谢尔宾斯基三角形”
1.递归:在方法中调用本方法. 2.递归调用会无限循环下去,因此方法体中必须有结束方法的条件.返回值为void时通常写为: if (条件) {return; } 下面使用递归绘制"谢尔宾斯基 ...
最新文章
- Docker容器中挂载NFS共享目录
- 总线的数据传输类型(微机接口技术)
- 大数据系列修炼-Scala课程07
- 1.MySQL的安装(linux Ubuntu环境下)
- 公证服务信息_使用多个公证员提高网络吞吐量
- 英文数据集txt_YOLOv5在建筑工地中安全帽佩戴检测的应用(已开源+数据集)
- 【测试工具】在linux测试环境访问禅道数据库
- django登录跳转到另一个页面_[JWT]djangojson web token实现单用户登录
- 《计算机系统:系统架构与操作系统的高度集成》——1.3 操作系统的作用
- 嵌入式C语言自我修养分享课件
- gps高斯utm_高斯投影与UTM投影的区别
- java.sql.SQLException: The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more tha
- MQ,如何做到削峰填谷
- 参加软件测试培训找工作有前景吗
- 拓嘉启远电商:拼多多缺货会降权吗?如何处理
- 【艾琪出品】-【计算机】《办公自动化基础》-韩伟颖(2002)南开离线作业学习资料
- 【蓝桥杯C/C++】专题五:DFS深度优先搜索
- 剪切caspase3_Caspase-3活性检测
- 独立站谷歌付费广告关键词选词技巧实操
- 用户体验报告——石墨文档