excel结束某个递归_大话递归(三)| 递归的应用分形图形的绘制

本文介绍了如何使用递归绘制分形图形,以谢尔宾斯基三角形为例,阐述了递归逻辑和结束条件,通过递归函数实现分形的绘制,展示了递归在图形艺术中的应用。
摘要由CSDN通过智能技术生成
前一讲我们谈到了递归的应用(大话递归(二)----如何编写与应用递归函数),从中我们知道,利 用递归解决问题的分析方法主要分为两个步骤: 第一步是分析出递归算法的核心递归逻辑,即分析出第n步与第n-1步间的递归逻辑关系。 第二步则是要找出递归的最终结束条件,否则递归会变成死循环,造成内存的泄漏。 首先,先来看一个递归的应用实例。 1

用递归求阶乘

举个例子。例如,我们要用递归思想实现编写用于计算n! (n 的阶乘)的函数factorial(n). 接下来,我们来利用以上两个步骤分析一下。    第一步:分析该问题递归算法的核心递归逻辑。我们发现 而 所以,有 所以,我们可以分析出,其第n步与第n-1步间的递归逻辑关系为:  用代码实现为
def factorial(n):  return factorial(n-1) * n

第二步:找出递归的最终结束条件。

相较于第一步,第二步就简单多了。本问题的终止条件即为n递归至1或0为止(数学中规定0!=1)。所以结束条件为 用代码实现为
if n == 1 or n==0:    return 1
最终全部代码为
def factorial(n):    if n == 1 or n==0:        return 1    return factorial(n-1) * n
2

用递归绘制分形图形

接下来,介绍一下递归的一个应用,用递归绘制一个分形图形。首先先来介绍一下分形图形。

分形图形是一种整体与局部自相似的几何图形,它具有以下几个明显的几何特征。

(1).  整体类似局部,即自相似

(2).  任意小尺寸下依然有精细的结构,

<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值