js递归
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));