ゼロより大きい整数のファクターは、その値以下の値を持つすべての整数の積です。
ファクトリアル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