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;
    }
}