|
doba |
|
#30813 ダンディ海野さん
十の倍数=二と五の倍数であり、二の倍数かどうかは 二進法で一番下のケタが0かどうかを見ればよいので、 あとは、五の倍数の見分け方ですね。 例えば、次のような考え方はどうでしょう。 (以下、数字は全部二進数です。) 与えられた二進数を、下から二桁ずつに区切ります。 それを、右からでも左からでもよいですが、交互に符号を入れ替えて足していきます。 (つまり、xx−xx+xx−xx+…というように、引くと足すを交互に繰り返します。) その結果から符号を取ったものが三桁以上ならば、同じ操作を繰り返します。 最終的に0になれば、与えられた二進数は101(=五)の倍数です。 例えば、111001001111001001101100110 であれば、 1/11/00/10/01/11/10/01/00/11/01/10/01/10 と区切って、 1-11+00-10+01-11+10-01+00-11+01-10+01-10=-1010 符号を取って四桁なので、さらに 10/10 と区切ると 10-10=0 なので、五の倍数と言えます。 これは、十進法の十一の倍数の判定法を、四進法に応用して、 それを二進数で表現しただけです。 |
|
9月22日(土) 16:42:44
30814 |