java如何用递归方法求阶乘

java 用递归方法求阶乘

一个正整数的阶乘,是所有不大于该数的正整数的积,并且0的阶乘为1,n的阶乘写作n!,由1808年基斯顿·卡曼(Christian Kramp,1760~1826)引进这个表示法。

java代码:

//用递归方法求阶乘
public class Factorial{
    public static void main(String[] args){
        int N = 5;
        for(int n = 0; n <= N; n++){
            int fact = factorial(n);
            System.out.println(n + " 的阶乘值是: " + fact);
        }               
    }
    public static int factorial(int n){
        if(n < 1)
            return 1;       
        return factorial(n-1) * n;
    }
}

输出:

0 的阶乘值是: 1
1 的阶乘值是: 1
2 的阶乘值是: 2
3 的阶乘值是: 6
4 的阶乘值是: 24
5 的阶乘值是: 120

Java 用递归计算1~N阶乘的值

Java中使用递归计算1~N阶乘的值

public class test {
 // 求阶乘的方法
 public static int factorial (int m) {
  if (m == 1) {
   // 这里要记住,return的是factorial方法,而不是结束执行if方法。
   return 1;
  }
  return m * factorial(m - 1);
 }
 
 public static void main(String[] args) {
  int n = N;
  System.out.println(factorial(n));
 }
}

Java中使用递归计算1~10阶乘的值(这里将数值代入的话更好理解)

public class test {
 // 求阶乘的方法
 public static int factorial (int m) {
  if (m == 1) {
   // 这里要记住,return的是factorial方法,而不是结束执行if方法。
   return 1;
  }
  return m * factorial(m - 1);
 }
 
 public static void main(String[] args) {
  int n = 10;
  System.out.println(factorial(n));
 }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(java如何用递归方法求阶乘)