【递归经典题目】求整数N的阶乘。

import java.util.Scanner;
/*
 * @description:求N的阶乘
 * 
 * 
 */

public class Factorial {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner console = new Scanner(System.in);
		int a = console.nextInt();
		System.out.println(a + "的阶乘是" + recursion(a));
	}

	private static int recursion(int a) {
		// TODO Auto-generated method stub
		int result = 0;
		if(a==1) 
			return 1;
		if(a>1){
			result = a*recursion(a-1);			
		}
		return result;
	}

}
算法较为简单,但次代码没考虑int类型超出范围的问题,例如不能求出100!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章