函数中自己调用自己我们称为——递归函数
标签:
linuxc语言 |
一、简介
递归算法。那么什么叫做递归函数呢?
例如:我们要求5!,该怎么求?
①5
②
③
④
我们递归函数两个阶段:
1、递推
2、回归
http://s14/mw690/002r7M77gy6SdxD6rCt1d&690
这个问题,我们可以通过画图来解决。画图之后,我们发现了一个规律
注:n --------表示我们切刀数
a(n) --------表示我们切n刀可以分成的块数
<1>我们一刀都不切.
n = 0 a(n) = 1
<2>当我们切刀的时候
a(1) = 1 + 1 = 2 //切1刀多1块
a(2) = 2 + 2 = 4 //切2刀多2块
a(3) = 4 + 3 = 7 //切3刀多3块
a(4) = 7 + 4= 11 //切4刀多4块
归纳后得到的规律:
a(n) = a(n - 1) + n //切n刀多n块
那么,我们通过这个规律,我们如何通过编程来实现呢?我们来写一个函数看看。
test.c
http://s12/mw690/002r7M77gy6SdxJIEfV0b&690
我们什么时候结束呢?例如,我们输入了n = 5.表示,我们的n为5刀。什么时候结束比较好呢?到我们的n为0的时候,是不是我们就要结束了。(注:递归一定要有结束条件)
http://s10/mw690/002r7M77gy6SdxJLks999&690
http://s14/mw690/002r7M77gy6SdxJNsEBad&690
http://s1/mw690/002r7M77gy6SdxJPHUIc0&690

加载中…