6递归
1 /*
2 遞歸函數:
3 函數自己調用自己就叫遞歸函數
4 遞歸可以實現循環
5 遞歸是神,迭代是人(迭代=循環)
6 缺點:需要暫存大量的數據,遞歸次數太多會占用大量內存空間
7
8 遞歸和迭代的區別
9 迭代是循環結構
10 遞歸是選擇結構
11
12 細節:
13 1.自己調用自己 --變成死循環
14 2.添加結束條件 --避免死循環
15 3.最后從內層向外層進行計算 --得到結果
16
17 */
18
19
20 #include "Recursion.h"
21 #include <iostream>
22 using namespace std;
23
24
25
26 //這里的遞歸就是個死循環,自己可以添加結束條件
27 void DoA()
28 {
29 cout <<"Hello"<<endl;
30 DoA();
31 }
32
33
34
35 //這里就是有結束條件的循環啦
36 //int nStop=0;
37 //void DoB()
38 //{
39 // nStop++;
40 // cout <<"Hello"<<endl;
41 // if (nStop == 10)
42 // {
43 // return;
44 // }
45 // DoB();
46 //}
47
48
49
50 //用遞歸計算階層
51 long Rank(int n)
52 {
53 if (0 == n)
54 {
55 return 1;
56 }
57 else
58 {
59 return n * Rank(n -1);
60 }
61 }
62
63
64 int main()
65 {
66
67 //DoA();
68 //DoB();
69 int nTest=5;
70 cout << Rank(nTest) <<endl;
71 system("pause");
72 return 0;
73 }
?
轉載于:https://www.cnblogs.com/Froger/p/6812979.html
總結
- 上一篇: spring-data-mongodb查
- 下一篇: CAD如何导出天正各版本DWG图纸?CA