- ベストアンサー
60!(1×2×3×・・・・×60)を計算し、その
結果を2進法で表すとき、一の位から数えて1が初めて現れる位は?という問題で問題集の解答は、「1~60のうち2の倍数は30個、2の2乗(=4)の倍数は15個、2の3乗(=8)の倍数は7個、2の4乗(=16)の倍数は3個、2の5乗(=32)の倍数は1個なので、30+15+7+3+1=56」となっていたのですが、何度考えても何をやっているのかさっぱり分かりません。分かりやすく説明して頂けないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
訂正 >さて、 > 2の1乗(2)なら1つ桁が上がるのは分かりますね。 > 2の2乗(4)なら桁が2つ上がるのは分かりますね。 > 2の3乗(8)なら桁が3つ上がるのは分かりますね。 >さらに、2の2乗は2の1乗であることは分かりますね。 >さらに、2の3乗は2の2乗の倍数であることは分かりますね。 において >さらに、2の2乗は2の1乗であることは分かりますね。 は間違い >さらに、2の2乗は2の1乗の倍数であることは分かりますね。 と読み替えてください。 失礼しました。
その他の回答 (2)
- Cupper-2
- ベストアンサー率29% (1342/4565)
分かりやすく…ですか。 質問の意図は理解できていますか。 60!の結果を2進数で示したとき、一番小さい桁から数えて一番初めに1がでてくる桁は何番目かを問うているんです。 そして本題。考え方です。 奇数同士のかけ算は必ず奇数になります。 例:5×7=35 奇数って事は、2進数にすると必ず1の桁が立つんです。 対して、偶数(ここでは2の倍数と言うこと)でかけ算すると必ず桁上がりします。 ここまで良いでしょうか。 (59ってのは2進数にすると 111011 です) そんなわけで、奇数だけを先にかけ算したと思ってください。 結果には1の位に1があります。 さて、 2の1乗(2)なら1つ桁が上がるのは分かりますね。 2の2乗(4)なら桁が2つ上がるのは分かりますね。 2の3乗(8)なら桁が3つ上がるのは分かりますね。 さらに、2の2乗は2の1乗であることは分かりますね。 さらに、2の3乗は2の2乗の倍数であることは分かりますね。 では、 2、4、8、8、16、 を掛け合わせたら桁はいくつ上がるか 2 1つ 4 2つ 8 3つ + 3つ 16 4つ 合計 13 ですね。 では、ちょっと変わった数え方 2の倍数は5つある(2,4,8,8,16) 4の倍数は4つある(4,8,8,16) 8の倍数は3つある(8,8,16) 16の倍数は1つある(16) 合計 13 そうです、下の数値の数には上の桁の数が含まれているんです。 そう考えると、2のべき乗の数を数える理由が分かると思うんですがどうでしょう。 そんなわけで桁上がりする数が分かれば答えを求められます。
- naniwacchi
- ベストアンサー率47% (942/1970)
こんばんわ。 「p進法」というのは、そのケタの数が pになったときケタ上がりするという意味になります。 (pで1ケタ進む数え方(法)という意味です。) 10進法は、10でケタが 1つ繰り上がります。 つまり、10倍でケタが上がるということになります。 同じように、2進法では 2倍でケタが上がることになります。 よって、2が何回乗じられているか= 2がいくつ因数に含まれているかが、 その答えとなります。 10進法で 0でない数が初めて現れる位は?と聞かれれば、 10が何回かけられているかを調べますよね。 それと同じことです。
お礼
ありがとうございました。
お礼
いえいえ、親切丁寧なご回答に感謝しています。