题目来源:大工慕课 链接
作者:Caleb Sung
题目要求
利用递归算法在一条语句内实现计算n的阶乘。
参考代码
在涉及Scanner
的语句中,若不输入import
编译器将会报错。Eclipse中可以点击语句前的灯泡选择相应语句进行自动补全,IDEA则把光标移动到红色波浪线的部分上按Alt+Enter键由编译器自动补全。
import java.util.Scanner;
public class Homework_ds2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
Homework_ds2 obj = new Homework_ds2();
System.out.println(obj.fac(m));
}
long fac(int n) {
return n == 0 ? 1 : n * fac(n-1);
}
}
运行效果
程序运行后为空白命令行,请求输入数字。我们输入20
进行测试,最后按下回车键。程序运行并返回
2432902008176640000