Java递归算法和迭代算法求阶乘

  1. 什么是递归: 1.1含义: 递归就是一个函数直接或者间接的调用自己的方法; 1.2如何利用递归求阶乘? 分析: 例如:求4的阶乘 等于4*3*2*1; 假设我们把使n=4的话,那么等式就变成 n*(n-1)*(n-2)(n-3) 第一个数:n 第二个数=第一个数-1; 第三个数=第二个数-1; … 通过观察我们发现,n每次都乘n本身减去一个数。直到n减去一个数后等于0; 于是就有:(不知道什么原因,这张图显示不了,代码参考最下方) ![这里写图片描述](https://img-blog..net/2018082515440526?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNjczNDg2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
  2. 什么是迭代: 2.1直白的说就是:每一次操作重复上一个操作,一步一步得出结果 2.2阶乘求法 分析: 求4的阶乘 等于4*3*2*1 第一个数=1; 第二个数=第一个数+1; 第三个数=第二个数+1; …. 假如我们把i=1的话 ,等式变成: i*(i+1)(i+1+1)(i+1+1+1) 我们每一次乘的数都是上一个数加1而来的 于是就有: 完整代码:
经验分享 程序员 微信小程序 职场和发展