• ベストアンサー

ある整数nを2で何回か割るとき、割り切れる最大の回数を、f(n)と書く

ある整数nを2で何回か割るとき、割り切れる最大の回数を、f(n)と書くことにします。 f(2)=1、 f(3)=0、 f(12)=2 です。 f(1×2×3×4×5)を求めなさい。 答えは 3 です。 f(1×2×・・・×20)を求めなさい。 答えは 18 です。 どなたか解説出来る方が、いらっしゃいましたらお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

5÷2=2余り1 ですから、1、2、3、4、5の中には2の倍数が2個含まれている事になりますから、 f(1×2×3×4×5)≧2 である事になります。  又、2の倍数の中には、4の倍数も含まれていますが、 4=2×2 ですから、4の倍数が含まれている個数が1つ増える毎に、2で割り切れる回数が、2の倍数の個数よりも1回ずつ増える事になります。 5÷4=1余り1 ですから、1、2、3、4、5の中には4の倍数が1個含まれている事になりますから、 f(1×2×3×4×5)≧「(1×2×3×4×5)の中に2倍数が含まれている個数」+「(1×2×3×4×5)の中に2倍数が含まれている個数」 =2+1=3 となり、 f(1×2×3×4×5)≧3 である事が判ります。  同様に、 8=2×2×2 ですから、8の倍数が含まれている個数が1つ増える事に、2で割り切れる回数が、2の倍数の個数と4の倍数の個数を足した数、よりも1回ずつ増える事になります。  この様に考えて行くと、 f(1×2×3×4×・・・・・・×[最後の数])=「 [最後の数]÷2の答え(余りは無視)」+「 [最後の数]÷(2×2)の答え(余りは無視)」+「 [最後の数]÷(2×2×2)の答え(余りは無視)」+・・・・・・+「 [最後の数]÷(2×2×2×2)の答え(余りは無視)」・・・・・・・・ という計算を、(2×2×2×2×・・・・・×2)の値が[最後の数]を上回るまで繰り返せば良い事が判ります。 2×2×2=8>5 ですから、f(1×2×3×4×5)を求める場合には、[最後の数]を(2×2×2)で割った時の答えまでは考える必要はなく、答えは、5を2と5を2×2で割った時の答えを足した数になります。  ここまでが、基本となる考え方で、 実際にf(1×2×3×4×5)を求める場合には、次の様にすれば良いと思います。 5÷2=2余り1 5÷(2×2)=1余り1 5÷(2×2×2)=0余り5 従って f(1×2×3×4×5)=2+1=3  同様にf(1×2×・・・×20)の場合には、 20÷2=10 20÷(2×2)=5 20÷(2×2×2)=2余り4 20÷(2×2×2×2)=1余り4 20÷(2×2×2×2)=0余り20 従って f(1×2×・・・×20)=10+5+2+1=18 となります。

emishizu
質問者

お礼

わかりやすいご説明ありがとうございました。m(_ _)m

その他の回答 (3)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.4

素因数分解して、2がいくつあるか、ですね。 2の倍数は、10個。(20÷2=10) (2,4,6,8,10,12,14,16,18,20) そのうち、4の倍数は、5個。(20÷4=5) (4,8,12,16,20) そのうち、8の倍数は、2個。(20÷8=2.5) (8,16) そのうち、16の倍数は、1個。(20÷16=1.25) (16) 2の因数は、10+5+2+1=18個 これだと、解りにくいですかね。 別の方法。 2の倍数すべてを素因数分解し、2の因数が何個含まれているかを数える。 2=2 4=2*2 6=2*3 8=2*2*2 10=2*5 12=2*2*3 14=2*7 16=2*2*2*2 18=2*3*3 20=2*2*5 2は18個

emishizu
質問者

お礼

ていねいなご説明ありがとうございました。m(_ _)m

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.3

ちょっとおもしろい法則を。 5÷2=2 余り1 2÷2=1 1÷2=0 余り1 余り1が2回あったので f(1×2×3×4×5)=5-2=3 20÷2=10 10÷2=5 5÷2=2 余り1 2÷2=1 1÷2=0 余り1 余り1が2回あったので f(1×2×・・・×20)=20-2=18 100÷2=50 50÷2=25 25÷2=12 余り1 12÷2=6 6÷2=3 3÷2=1 余り1 1÷2=0 余り1 余り1が3回あったので f(1×2×・・・×100)=100-3=97

emishizu
質問者

お礼

わかりやすいご説明ありがとうございました。m(_ _)m

回答No.1

2の因数がいくつ入るかという問題ですね。 20のときを説明すれば良いと思いますが、 まず2の倍数は2,4,...,20と10個あります。 しかし、これだけでは4など、もっと2が入っているものを数え切れません。 そこで、4,8,16についてはそれぞれ別に数えます。 (4のときに、2が2個あるからといって2倍にしないのは、 2の倍数のときに既に一回カウントされているからです。 8のときも同様で、2,4の時に一回ずつカウントされています。) 4の倍数は4,8,..20と5個あります。 8の倍数は8,16と2個 16の倍数は1個です。 合計すると 10+5+2+1 = 18 ですね。

関連するQ&A

専門家に質問してみよう