JavaSE习题 求N的阶乘和阶乘和!

目录

  • 1 求N的阶乘
  • 2 求阶乘和

1 求N的阶乘

题目分析:

  1. 它的起始条件为: N = 1 的时候, N! 为 1,这个起始条件相当于递归的结束条件。
  2. 递归公式: 求 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));
}}

你可能感兴趣的:(JavaSE习题,java,算法,数据结构,经验分享,后端)