factファクト関数

本ページには広告が含まれています。

引数に指定した自然数の階乗を求めます。

構文
  1. Double = fact( 数値 )
引数
数値 必須
0以上の整数(自然数)
戻り値
引数に指定した数値の階乗

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   数値 : 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

解説

  1. 2行目
    UWSC
    	IF n <> ABS(INT(n)) THEN EXIT
    nが0以上の整数でなければ終了
  2. 3行目
    UWSC
    	IFB n = 0 OR n = 1 THEN
    もしxが0か1ならば4行目>>>、そうでなければ6行目>>>
  3. 4行目
    UWSC
    		RESULT = 1
    戻り値として1を返す。
  4. 6行目
    UWSC
    		RESULT = n * fact(n - 1)
    n×(n-1)の階乗を返す。再帰呼び出し。

使い方

5の階乗を求める

UWSC
PRINT fact(5)
結果
プレーンテキスト
120

関連記事

factDouble関数 (自作関数)
引数に指定した数値の二重階乗を求めます。
GCD関数 (自作関数)
最大公約数を求めます。
ABS関数 (スクリプト関数)
引数の絶対値を求めます。
ARCCOS関数 (スクリプト関数)
引数の逆余弦を求めます。
CEIL関数 (スクリプト関数)
正の方向へ切り上げた数値を返します。
LN関数 (スクリプト関数)
自然対数(\(\log_e{x}\))を求める。
LOGN関数 (スクリプト関数)
常用対数を求めます。
ZCUT関数 (スクリプト関数)
マイナス値を0にして返します。プラス値はそのままの値を返します。
isOdd関数 (自作関数)
引数に指定した数値が奇数かどうかを調べます。奇数ならばTrue、それ以外の数値はFalse、文字列はエラー値を返します。
radToDeg関数 (自作関数)
弧度法(Radian)を度数法(Degree)に変換します。度数法を弧度法に変換するにはDegToRad関数を使います。