Recursive GCM

【Source Code】
<script type="text/javascript">
function GCM(n, m)
{   if (n==m)   return n;
    if (n>m)    return  GCM(n-m, m);
    return GCM(n, m-n);
}
</script>
</head>

<body>
<script type="text/javascript">
document.write("GCM(32,24): ", GCM(32,24), "<br>");
document.write("GCM(40,30): ", GCM(40,30), "<br>");
</script>

今回は関数を head の中で定義してみました。
再帰関数 GCM(n, m) を使って、GCM(最大公約数)を求めます。
GCM(n, m) では n と m が等しいときは関数値は n です。(m でも同じ)
n>m のときは「GCM(n-m, m)」が関数値です。
n<m のときは「GCM(n, m-n)」が関数値です。
再帰関数の詳しい説明は C++ や C# のページを参照して下さい。

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(JavaScript)