- ベストアンサー
階乗の桁数
200!の桁数を求めよ。という問題で、 10進法で何桁か?は375桁とわかったのですが、 2進法、4進法、8進法、16進法で何桁なのかわかりません。 2進数の桁数の計算方法は Nlog10=xlog2 (底は10) で、求められると思うのですが、 約1245.723と出てきてしまい、 1245桁なのか1246桁なのかわかりません。 こういう場合は四捨五入するのですか?切捨てにするのですか? 教えてください。 お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>10進法で何桁か?は375桁とわかったのですが a=200!=n*10^374,1≦n≒7.9<10 log_(10)a=374+d,0≦d≒0.90<1 >約1245.723と出てきてしまい、 >1245桁なのか1246桁なのかわかりません。 「切捨てて1を加える」ので1246桁です。 log_(2)a={log_(10)a}/log_(10)2=(374+d)/0.3010=1245+d1,0≦d1≒0.38<1 2進法で(1245+1)=1246桁 同様にして log_(4)a=622+d2,0≦d2≒0.69<1 4進法で(622+1)=623桁 log_(8)a=415+d3,0≦d3≒0.13<1 8進法で(415+1)=416桁 log_(16)a=311+d4,0≦d4≒0.35<1 16進法で(311+1)=312桁
お礼
小数点以下をどうするのかで迷っていました。 解説ありがとうございます。