任意精度の階乗関数(ライブラリ)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/03/19 03:24 UTC 版)
「Standard ML」の記事における「任意精度の階乗関数(ライブラリ)」の解説
SMLでは、IntInf モジュールで任意精度(多倍長精度)の整数の算術を提供している。さらに言えば、コード内に現れる整数はどれだけ桁数があってもプログラマが気にする必要がない。 次のプログラム "fact.sml" は、任意精度の階乗関数を実装したもので、120の階乗を表示する。 fun fact n : IntInf.int = if n=0 then 1 else n * fact(n - 1) val () = print (IntInf.toString (fact 120)^"\n") コンパイルして実行すると次のようになる。 $ mlton fact.sml $ ./fact 66895029134491270575881180540903725867527463331380298102956713523016335 57244962989366874165271984981308157637893214090552534408589408121859898 481114389650005964960521256960000000000000000000000000000
※この「任意精度の階乗関数(ライブラリ)」の解説は、「Standard ML」の解説の一部です。
「任意精度の階乗関数(ライブラリ)」を含む「Standard ML」の記事については、「Standard ML」の概要を参照ください。
- 任意精度の階乗関数のページへのリンク