ゼロより大きい整数のファクターは、その値以下の値を持つすべての整数の積です。
ファクトリアル3は3倍2倍1または6です。数学記法では3! = 3 * 2 * 1 = 6.メソッドの実装は同じプロセスを行い、現在の値から開始し、値に1を掛けたものを掛けます。 このプロセスは、現在の値が2になるまで実行されます。戻り値に1を掛ける必要はありません。
public class Factorial {
public static long factorial(int number) {
long result = 1;
for (int factor = number; factor >= 2; factor--) {
result *= factor;
}
return result;
}
public static void main(String[] argv) {
int[] tab = {0,1,2,3,4,5,6,7,8,9};
for(int i : tab){
long out = factorial( i );
System.out.println("n = "+ i + " n! = " + out);
}
}
}
この例では、0から9までのすべての整数を持つテーブルを作成します。すべてのテーブルをループし、階乗法を呼び出します。 メソッドの結果は出力に書き込まれます。 たとえば6の階乗は720です。
n = 0 n! = 1 n = 1 n! = 1 n = 2 n! = 2 n = 3 n! = 6 n = 4 n! = 24 n = 5 n! = 120 n = 6 n! = 720 n = 7 n! = 5040 n = 8 n! = 40320 n = 9 n! = 362880