☆階乗計算☆
階乗計算は、数学でよく用いられる計算です。5!といった形で「!」記号を 使い、5!=5*4*3*2*1 となります。ちょっと難しい式を用いて表現すると、
a!=a*(a-1)*(a-2)*・・・*1
と、表せます。このことを再帰を用いたプログラム的に表すと、次のようにできます。 (integer型なので、大きい値ではオーバーフローしてしまいます。)以下、ループ処理を使った方法です。
'============================================================ 'Kaijyo 再帰処理で、階乗計算をし、その答えを返す '------引数-------------------------------------------------- 'a 階乗する値(a>=1) '============================================================ Public Function Kaijyo(a As Integer) As Integer If a = 1 Then Kaijyo = a: Exit Function Kaijyo = a * Kaijyo(a - 1) End Function
'============================================================ 'Kaijyo2 ループ処理で、階乗計算をし、その答えを返す '------引数-------------------------------------------------- 'a 階乗する値(a>=1) '============================================================ Public Function Kaijyo2(a As Integer) As Integer Dim r As Integer r = 1 Do While a > 0 r = r * a a = (a - 1) Loop Kaijyo2 = r End Function
(サンプルプログラムの動作確認)
機種 PC-9821V13S OS Windows95 開発ツール Visual Basic Ver.4.0 更新日 00/1/30 ダウンロード Recursion2.lzh(1.85KB)
Visual Basic Ver.5.0,Ver.6.0でも問題なく動作すると思います。
なお、このコーナーに掲載されているプログラムコード、およびプログラムファ イルが原因で起きた損害などに関して一切の責任を負うことはできません。
★このコーナーに掲載されているプログラムコード、およびプログラムファ イルを無断で配布・転載することは、原則として禁止です。