在程序设计中,阶乘与斐波那契数列一道经常被选为递归算法的素材,因为阶乘满足下面的递归关系:
n! = n*(n-1)!
计算n的阶乘的程序很简单,具体代码如下:
package com.js.math;
import java.util.Scanner;
/**
* 阶乘 n! = 1*2*3*4*5*...*n
* 用递归计算阶乘
* @author js
*
*/
public class Factorial {
public static void main(String[] args) {
int n;
System.out.println("输入一个整数n(n>0):");
Scanner scanner = new Scanner(System.in);
if(scanner.hasNext()){
n =scanner.nextInt();
System.out.println(n+"的阶乘为:"+factorial(n));
}
}
public static int factorial(int n){
int i;
if(n<0){
return 1;
}
if(1==n){
return 1;
}
else {
return n*factorial(n-1);
}
}
}

本文介绍了一种使用递归算法来计算整数阶乘的方法,并提供了完整的Java代码实现。通过递归公式 n! = n * (n-1)!,文章展示了如何在Java中实现这一递归过程。
253

被折叠的 条评论
为什么被折叠?



