当前位置:   article > 正文

递归算法搞不懂可以来看看这几个小例题(Java)_return n* factorial(n-1)

return n* factorial(n-1)

1、求n阶乘

  1. public class 求n阶乘 {
  2. //main函数 实现参数定义和输出
  3. public static void main(String[] args) {
  4. int n=6;
  5. System.out.println(factorial(n));
  6. }
  7. //递归函数
  8. public static int factorial(int n){
  9. if(n==1){//函数出口,终止条件
  10. return 1;
  11. }
  12. return n*factorial(n-1);//调用自身
  13. }

输出结果:720

2、打印i~j

  1. public class Main {
  2. //main函数
  3. public static void main(String[] args) {
  4. f(1,10);//设置参数
  5. }
  6. public static void f(int i,int j){
  7. if(i>j){//终止条件
  8. return;
  9. }
  10. System.out.println(i);
  11. f(i+1,j);//调用自身
  12. }
  13. }

输出结果:1 2 3 4 5 6 7 8 9 10

3、数组求和

  1. public class Main{
  2. public static void main(String[] args) {
  3. int[] a={1,2,3,4,5,6,7,8,9,10};
  4. System.out.println(sum(a,0));
  5. }
  6. //数组求和
  7. public static int sum(int []arr,int begin){
  8. if(begin==arr.length-1){
  9. return arr[begin];
  10. }
  11. return arr
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/116190
推荐阅读
相关标签
  

闽ICP备14008679号