本帖最后由 宇哥编程 于 2024-2-22 14:12 编辑
递归(Recursion)和迭代(Iteration)是比较重要的算法,核心思想是自己调用自己、循环往复,把复杂问题简单化,解决一些实际问题。
本文选取一个极限问题,有助于理解自己调用自己、循环往复的解题思路,这个问题是一个数列极限,问n趋近于无穷大时,方程的极限是多少。
本文选用的极限 本题采用两种方法进行解题:一种是递归;一种是迭代。通过计算过程可以加深对这两种计算机逻辑的理解。 1.迭代法计算过程运用迭代法计算的VBA代码如下: - Function IterationA(n As Integer) '迭代法
- Dim i As Integer
- IterationA = 2 ^ 0.5 '初始状态
- For i = 1 To n
- IterationA = (2 * IterationA) ^ 0.5 '往前赶
- Next i
- End Function
复制代码
迭代法的计算过程演示迭代法的原理比较容易理解,计算过程就是先设定一个初始状态,然后设定一个从1到n的循环条件,每次计算结果都是下一次计算的原料。直到循环结束。
2.递归法计算过程运用递归法计算的VBA代码如下: - Function RecursiveA(n As Integer) '递归法
- If n = 0 Then
- RecursiveA = 2 ^ 0.5 '初始状态
- Else
- RecursiveA = (2 * RecursiveA(n - 1)) ^ 0.5 '往回搂
- End If
- End Function
复制代码
递归法的计算过程演示递归法计算过程略微复杂一些,分为两个步骤:先分解传递,再回归。不过本案例的极限算法并不太适合用递归。递归原理如下: --The End-- 作者介绍:
宇哥副业是一名央企总部员工,电力工程师。
主业是一名编程培训讲师、电商从业者和电商讲师。
目前运营有3家淘宝店、6家闲鱼店、2家抖店、1家亚马逊(没生意),以及10多个自媒体平台和2个个人网站。
目前来看,全网学习办公软件和编程的女同学几乎没有不认识我的,但我更希望全网搞电商的女同学也都认识我。
现在宇哥做电商做培训还是比较顺的,而且主业还上班,目前一年到手的收入加起来有100来个。本来可以躺平,但是由于个人情绪一直不稳定、精神状态时好时坏,因此挺爱吐吐槽、码码字,挺愿意分享的。
我未来的打算是回老家做跨境,一边过退休生活,一边赚点躺着赚钱的生意。另外我计划每年写100万字不糊弄事的精品文章,包括宇哥的人生经验、做技术培训的经验、做电商的经验、做自媒体的经验、在央企当异类跟领导对着干的经验,都分享给大家。
写作是为了流传后世,能帮助一些人最好。帮不上就当是给自己看了。
承蒙大家厚爱,很多人爱看。
谢谢大家。
|