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));
}
}
ん。一応できた……ってもっと簡単にかけそう。
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));
}
}
ん。一応できた……ってもっと簡単にかけそう。
(続き) More ログイン