本ページには広告が含まれています。
引数に指定した自然数の階乗を求めます。
- 構文
- Double = fact( 数値 )
- 引数
- 数値 必須
- 0以上の整数(自然数)
- 戻り値
- 引数に指定した数値の階乗
プログラム
//////////////////////////////////////////////////
// 【引数】
// 数値 : 0以上の整数(自然数)
// 【戻り値】
// 引数に指定した数値の階乗
//////////////////////////////////////////////////
FUNCTION fact(n)
IF n <> ABS(INT(n)) THEN EXIT
IFB n = 0 OR n = 1 THEN
RESULT = 1
ELSE
RESULT = n * fact(n - 1)
ENDIF
FEND
解説
- 2行目
- nが0以上の整数でなければ終了
IF n <> ABS(INT(n)) THEN EXIT
- 4行目
- 戻り値として1を返す。
RESULT = 1
- 6行目
- n×(n-1)の階乗を返す。再帰呼び出し。
RESULT = n * fact(n - 1)
使い方
5の階乗を求める
PRINT fact(5)
- 結果
120
関連記事
- factDouble関数 (自作関数)
- 引数に指定した数値の二重階乗を求めます。
- GCD関数 (自作関数)
- 最大公約数を求めます。
- ABS関数 (スクリプト関数)
- 引数の絶対値を求めます。
- ARCCOS関数 (スクリプト関数)
- 引数の逆余弦を求めます。
- CEIL関数 (スクリプト関数)
- 正の方向へ切り上げた数値を返します。
- LN関数 (スクリプト関数)
- 自然対数を求めます。
- LOGN関数 (スクリプト関数)
- 常用対数を求めます。
- ZCUT関数 (スクリプト関数)
- マイナス値を0にして返します。プラス値はそのままの値を返します。
- isOdd関数 (自作関数)
- 奇数かどうか調べます。
- radToDeg関数 (自作関数)
- 弧度法から度数法に変換します。