パスワードを忘れた? アカウント作成
431835 journal

YuAokiの日記: (続き)

日記 by YuAoki
その下のfactorial関数を用いて、組み合わせの関数を作ってみる。

public class MyMath {
    /**
     * @param vm n!=n*(n-1)*(n-2)……*1のnです。
     * @return n!の値です。
     */
    public int factorial(int vm) {
        if (vm > 0) {
            return vm * factorial(vm - 1);
        } else {
            return (1);
        }
    }

    /**
     * 組み合わせの数を算出する関数です。
     * a C bです。
     * @param a aCbのaです。
     * @param b  aCbのbです。
     * @return aCbの値が返ります。
     */
    public int conbination(int a, int b) {
        if (a != 0 & b != 0) {
            MyMath tmiz = new MyMath();
            int value =
                tmiz.factorial(a) / tmiz.factorial(a - b) / tmiz.factorial(b);
            return value;
        } else {
            return 0;
        }
    }

    public static void main(String args[]) {
        if (args.length != 2) {
            System.out.println("Usage:a b ……aCb");
            System.exit(0);
        }

        int a = Integer.parseInt(args[0]);
        int b = Integer.parseInt(args[1]);

        System.out.println(new MyMath().conbination(a, b));
    }
}

ん。一応できた……ってもっと簡単にかけそう。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

読み込み中...