大学生必练习题17

用递归求n的阶层

我们先来看一下递归(recursion)的定义:

递归是一种解决问题的有效方法,在递归过程中,函数将自身作为子例程调用。

简单说程序调用自身的编程技巧叫递归。递归的思想是把一个大型复杂问题层层转化为一个与原问题规模更小的问题,问题被拆解成子问题后,递归调用继续进行,直到子问题无需进一步递归就可以解决的地步为止

使用递归需要避免出现死循环,为了确保递归正确工作,递归程序应该包含2个属性:

  1. 基本情况(bottom cases),基本情况用于保证程序调用及时返回,不在继续递归,保证了程序可终止。
  2. 递推关系(recurrentce relation),可将所有其他情况拆分到基本案例。
  3. 思路:我们需要用到函数的传参,当参数达到最小值1时我们返回参数1,当参数不为一时,我们返回 (jc(n-1))*n;//jc为被调函数名,即可。
  4. 具体程序如下:大学生必练习题17_第1张图片
  5. 结果如下:
  • 希望会有帮助,谢谢观看

你可能感兴趣的:(算法,java,经验分享,数据结构)