よく使う処理 :  桁分離| ポインタソート探索


桁分離

一つの数値を一の位、十の位、百の位、というように各桁に分離する処理。

<方法1>
商の算出の後、余りを算出する方法。各桁の抽出は、元の数を例えば以下のような具合に演算することで行えます。

例:1234という4桁の値の場合
抽出方法結果
一の位元の数を1で割った商を求め、それを10で割った余りを求める。4
十の位元の数を10で割った商を求め、それを10で割った余りを求める。3
百の位元の数を100で割った商を求め、それを10で割った余りを求める。2
千の位元の数を1000で割った商を求め、それを10で割った余りを求める。1

抽出方法の規則性が表からわかると思います。抽出したい位をnとおくと、
元の数をnで割った商を求め、それを10で割った余りを求める
ことでnの位の値が抽出されます。
<方法2>
変数が整数型であることをうまく利用した方法(ツクール2000の変数は整数型のみです)。整数型とは小数を扱えない変数タイプのことで、割り算において商が小数となっても小数点以下の位は切り捨てられます。これを利用すると、次のようにして各桁を抽出できます。

例:1234という4桁の値の場合
手順@元の数を10で割る(結果:123)
手順A@で得られた数を10倍する(結果:1230)
手順BAで得られた数を元の数から引く(結果:4)
@〜Bは一の位のみを求める手順です。十の位の場合は1234を10で割った数を、百の位の場合は1234を100で割った数を、千の位の場合は1234を1000で割った数を、新たに元の数として@〜Bを行うだけです。

例えば十の位は、1234を10で割った数=123、これを元の数として上記@〜Bを行うと、

@の結果:12
Aの結果:120
Bの結果:3(123-120)

となります。十の位が抽出されました。


ホームtkool2 → よく使う処理:桁分離