Java递归算法简单示例两则

时间:2021-10-16 18:18:24

本文实例讲述了Java递归算法。分享给大家供大家参考,具体如下:

1.实现1到100的和,用递归实现

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class RecursionTest {
  public static void main(String[] args) {
    System.out.println(diGui(100));// 5050
  }
  public static int diGui(int n) {
    int sum;
    if (n == 1)
      return 1;
    else {
      sum = n + diGui(n - 1);
      return sum;
    }
  }
}

2.递归实现1到100的阶乘

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class RecursionTest {
  public static void main(String[] args) {
    System.out.println(diGui(5));// 120 注意如果求100的阶乘那么就不能用int或者long,计算后的结果数值过大程序无法返回,一般情况会返回0要用BigInteger
  }
  public static int diGui(int n) {
    int sum;
    if (n == 1)
      return 1;
    else {
      sum = n * diGui(n - 1);
      return sum;
    }
  }
}

希望本文所述对大家java程序设计有所帮助。

原文链接:http://blog.csdn.net/u010680097/article/details/73775830