JAVA经典算法40题(11)

【程序21】题目:求1+2!+3!+...+20!的和

1.程序分析:此程序只是把累加变成了累乘。

public class Ex21 {
    static long sum = 0;
    static long fac = 0;
    public static void main(String[] args) {
        long sum = 0;
        long fac = 1;
        for(int i=1; i<=10; i++) {
            fac = fac * i;
            sum += fac;
        }
        System.out.println(sum);
    }
}

 

【程序22】题目:利用递归方法求5!。
1.程序分析:递归公式:fn=fn_1*4!

import java.util.Scanner;
public class Ex22 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        Ex22 tfr = new Ex22();
        System.out.println(tfr.recursion(n));
    }
    public long recursion(int n) {
        long value = 0 ;
        if(n ==1 || n == 0) {
            value = 1;
        } else if(n > 1) {
            value = n * recursion(n-1);
        }
        return value;
    }
}

 

你可能感兴趣的:(java,算法,it)