/*
*递归阶乘
*阶乘是指整数n乘以n-1,再乘以n-2,依次乘以1。 用数据表示的话是n。
*阶乘分析: n*(n-1 ) ) n-2 )…)通过1式分析,可以设定1个公式fun(n )=n ) (n-1 )…(1) N2 )。
*那么,f(n-1 )=(n-1 ) ) (n-2 )……) 1; 由此,能够发售fun(n )、fun(n );
*,所以只需定义fun函数。
代码示例如下:
*/
公共类收入工厂{
publicstaticvoidmain (字符串[ ] args ) {
sannersc=newscanner(system.in;
//读取控制台参数
longn=long.valueof(sc.next ) );
//返回结果
长结果=get result (n;
system.out.println(n )的阶乘结果为' result ';
}
私密状态克隆getresult {
//n为1时返回程序出口,1的阶乘为1,所以返回1
if(n==0) {
返回1;
}
//递归函数的运算fun(n )=n * fun (n-1 ) ) ) ) ) ) ) ) )。
返回*获取结果(n-1 );
}
}
//输出结果为:
的阶乘结果为120