版权声明:根据《中华人民共和国著作权法》,如需转载请标明来源并联系作者进行授权。本文作者保留依法追究未经授权转载等侵犯作者著作权等的违法行为之权利。 https://blog.csdn.net/qq_41933331/article/details/82025094
题目来源:大工慕课 链接
作者: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