在程序设计中,阶乘与斐波那契数列一道经常被选为递归算法的素材,因为阶乘满足下面的递归关系:
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);
}
}
}