1 /*
2 例如:1 + 2 + 3 + … + 100
3 F(100) = F(99) + 100;
4 F(99) = F(98) + 99;
5 F(98) = F(97) + 98;
6 …
7 F(2) = F(1) + 2;
8 F(1) = 1;//递归结束
9 F(n) = F(n-1) + n;
10 */
11 /*
12 实现递归的三个步骤:
13 1. 递归结束条件(明确的返回值)
14 2. F(n) 和 F(n-1)的关系,递归(循环)的语句
15 3. 递归函数必须要有返回值。
16 */
17 /*
18 100! = 1 * 2 * 3 * ... * 100;
19 */
20
21 /*
22 function sum(n) {
23 if(n == 1) return 1;//计算结束
24 return sum(n-1) + n;
25 }
26 var s = sum(100);
27 console.log(s);
28 */
29
30 function jc(n) {
31 if(n == 1) return 1;
32 return jc(n-1) * n;
33 }
34 console.log(jc(6));
35
36 /*
37 F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
38 0 1 1 2 3 5 8 13...
39 */
40 function f(n) {
41 if(n == 0) return 0;
42 if(n == 1) return 1;
43 return f(n - 1) + f(n - 2);
44 }
45 console.log(f(7));