[ アカウントをゲット! ]
割り算の筆算 どう書く?を、JavaScript(+それを呼び出す手抜きHTML)でやってみた。コードはそちらに。n、mは正の整数に限定。
fが空欄のまま(もしくは0以下の数、数値として評価できない文字列)の場合、整数の範囲内で除算を行う。
n = m * q + r (within integer)
n: 1000
m: 71
q: 14
r: 6
1 4
----------
7 1 ) 1 0 0 0
7 1
-----
2 9 0
2 8 4
-------
6
fに正の整数を指定すると、商がその桁数に達すると筆算を止める一方で、小数点以下になっても筆算を続ける(止まったときに商より剰余が大きい場合がある)。
n = m * q + r (up to 4 figures)
n: 1000
m: 71
q: 14.08
r: 0.32
1 4.0 8
--------------
7 1 ) 1 0 0 0
7 1
-----
2 9 0
2 8 4
-------
6 0 0
5 6 8
-------
3 2
小数部をもつ商をどうしようかと考えた挙句、中間表現として各桁を配列qに入れた(小数部の桁に相当する要素の添字は負数になる)。小数部から始まる場合 (n < m) の処理をループから除外できそうに思えたからだが、それほど効果はなかったかも。
それによって書くことになった商の出力文字列化には、JavaScriptのへんてこ仕様(Array.lengthは、要素総数ではなく最大添字+1を返す)を利用した。
このページのすべての商標と著作権はそれぞれの所有者が有します。
コメントやユーザ日記に関しては投稿者が有します。
のこりのものは、© 2001-2010 OSDN です。
Re:こんな感じで (スコア:1)
平方根の説明を読んで頭痛が、立方根で腹痛が。これを書くとなると何が起こるかわからないのでやめておきます。
コメントを書く
親コメント