- 締切済み
n進法
ある数を5進法で示しても、7進法で示しても4ケタであった。この数を3進法で示すと何ケタになるか。 もう、全然わかりません。2進法までは理解しているつもりなのですが…。お願いします!
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- leaz024
- ベストアンサー率75% (398/526)
#------ ある数Aの、n進法における整数部の桁数mとの関係は n^(m-1) ≦ A < n^m と表せます。 (「a^b」は「aのb乗」を表します。) また、Aをs進法で表したときの整数部の桁数は [log(s,A)] + 1 と表せます。 (「[a]」は「aを超えない最大の整数」を表します。 また「log(a,M)」は、「aを底とするMの対数」を表します。 ちなみに「log(a,M)=X」は「a^X=M」と置き換えることが出来ます。) #------ これをこの問題に当てはめると、 5^3 ≦ A < 5^4 7^3 ≦ A < 7^4 となり、更に「5^3 < 7^3」、「5^4 < 7^4」なので、Aの範囲は 7^3 ≦ A < 5^4 となります。 Aを3進数で表した場合の桁数が知りたいので、3を底とするログを取ります。 [log(3,7^3)]+1 ≦ [log(3,A)]+1 < [log(3,5^4)]+1 …(1) (「+1」は全ての項に含まれるので、ここで消去します。) ログは計算すると大変なのですが、ここでは整数部しか見ないので、3の累乗を書き出して、7^3と5^4がどこに当てはまるかを探せばよいことになります。 log(3,9)=2 , log(3,27)=3 , log(3,81)=4 , log(3,243)=5 , log(3,729)=6 , … 7^3=343 , 5^4=625なので、(1)の式は 5 < log(3,343) ≦ log(3,A) < log(3,625) < 6 となります。 したがって答えは6桁です。紙に書いたのと違うから、ちょっと伝わりにくいかな…。とにかく「n進法」「桁数」ときたら、対数です。
- debuzou
- ベストアンサー率38% (8/21)
2進法というのは0と1の2つの数字を使って様々な数値を表現していきますよね。ちなみに普段我々が使っているのが10進法です。これは0~9までの10個の数字を使っていきます。当然5進法は0~4までの5個の数字を使い、7進法は0~6までの7個の数字を使っていきます。 さて、4桁で表すことのできる5進法は1000~4444までです。7進法は1000~6666までです。そこで、このまま5進法や7進法のままでは考えにくいので、一度これを10進法に直します。10進法において、下1桁から順に1の位、10の位、100の位、1000の位…と位が10倍ずつ上がっていくように、5進法では5倍ずつ、7進法では7倍ずつ上がっていきます。したがって、5進法は下1桁から順に1の位、5の位、25の位、125の位…となり、7進法では1の位、7の位、49の位、343の位…となります。 次に、10進法で1234という4桁の数は1の位が4、10の位が3、100の位が2、1000の位が1となっています。したがって、1234=1×4+10×3+100×2+1000×1という形で表すこともできます。 当たり前のようですが、これがn進法を10進法に直すための考え方です。 では実際に、10進法に直してみましょう。5進法の1000は1の位が0、5の位が0、25の位が0、125の位が1ですから、1×0+5×0+25×0+125×1=125となり、これが10進法に直した値となります。同様に、4444は1×4+5×4+25×4+125×4=624となります。よって、4桁の5進法で表すことのできる数値の範囲は10進法で125~624ということが分かります。 同じように7進法においても調べてみると343~2400の範囲であると分かります。これらのことにより、「ある数を5進法で示しても、7進法で示しても4ケタであった」というのは10進法で343~624の範囲のことだと分かるわけです。 では今度は、これらを3進法に直してみて、いったい何桁の数になるのかを調べてみましょう。普通、10進法をn進法に直す場合、割り算の発想を使いその余りに注目して求めます。例えば、10進法の343を3進法に直す場合は 343÷3=114…1 114÷3= 38…0 38÷3= 12…2 12÷3= 4…0 4÷3= 1…1 と行い、最後の計算の商も含めて下から上に読みます。→110201 これが10進法の343を3進法に直した値となります。 同様に10進法の624を3進法に直すと212010となります。 これらのことにより、「この数を3進法で示すと」というのは110201~212010のことだと分かります。 以上のことにより、「何ケタになるか」という問いにたいして6桁というのが正解です。 いかがでしょうか?もし、分かりにくいようであれば、補足するので言ってください。
- ametsuchi
- ベストアンサー率31% (81/257)
計算違いがあるかもしれないのでご自分で確認を! ・5進法で、4桁ということは、125から624の間、 ・7進法で、4桁ということは、343から2400の間、 従って、343から624までの間の数になります。 3^6=729 3^5=243 ですから、 ・3進法で、6桁なら、243から728までで、343から624までという範囲を含みます。
お礼
ありがとうございました! 大変よ~くわかりました。 また教えてください。 勉強がんばりまっす!(^_^)Ω