JavaSE习题 求N的阶乘和阶乘和!
目录
- 1 求N的阶乘
- 2 求阶乘和
1 求N的阶乘
题目分析:
- 它的起始条件为: N = 1 的时候, N! 为 1,这个起始条件相当于递归的结束条件。
- 递归公式: 求 N! , 直接不好求, 可以把问题转换成 N! = N * (N-1)!
解题代码如下:
public class test2 {
public static int fac(int n){
if(n == 1){
return 1;
}
return n* fac(n-1);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(fac(n));
}
}
2 求阶乘和
题目分析: 本题中,我们可以把求一个数字的阶乘定义为一个方法,传入不同的值,求出不同的阶乘,最后进行累加。
解题代码如下:
public class test2 {
public static int sum(int n){
int summ = 0;
for (int i = 1; i <=n; i++) {
summ += fac(n);
}
return summ;
}
public static int fac(int n){
if(n == 1){
return 1;
}
return n* fac(n-1);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(sum(n));
}}