说起“阶乘数”,我们应该都不会感到陌生。当老师布置了这样的作业,我们大多数人是一贯用笔算,还有的同学会用计算机去计算。数学是讲究原理和方法的,我们知其然,也要知其所以然。下面我们就用编程来计算阶乘数。

package com.caiduping.jiechengshujishuan;

import java.util.*;

public class JieChengShuJiSuan {

	/**
	 * 所谓阶乘数,用数学公式表示为a!=(a-1)*a
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入阶乘数:");
		Scanner input=new Scanner(System.in);
		int a=input.nextInt();
		System.out.println("你所求的阶乘数计算结果为:"+jiecheng(a));
	}

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

}

额……我就简略地做了张程序流程图来说明它的工作原理:我们用数字21、22、24来表示上述代码中第21、22、24行的代码,1、2、3、4表示它的工作次数。

Java之阶乘数的计算-风君雪科技博客

不努力,还要青春干什么?