30分の2の力は何ですか!?


ベストアンサー

この質問に対する回答は以前にありましたが、見つからないようです。この回答では、これを「ゼロから」解決しようとします。

この問題に取り組むにはいくつかの方法があります。まず、明白な方法から始めましょう。30を評価してください。次に、通常のアルゴリズムを使用します。余りがゼロ以外になるまで2で割ります。これは最終的に答えにつながるでしょうが、30! 33桁なので、しばらく時間がかかります。

では、別のことを試してみましょう。 6 \ cdot 8の2の累乗は何ですか?ええと、それは6分の2の累乗と8分の2の累乗、つまり1 + 3 = 4です。さて、これを使用して答えをより速く計算できます。 30歳から! = 1 \ cdot 2 \ cdot 3 \ cdots 28 \ cdot 29 \ cdot 30、1から30までの数字の答えを追加することで答えを得ることができます。

これは非常に高速に機能し、結果は1分未満です。しかし、もっとうまくやれるでしょうか?もちろん、我々はできます!さらに高速なアプローチは、次の点に注意することで最後の方を改善します。乗算する数値の半分(15)には、2の累乗が少なくとも1つ含まれます。数値の4分の1(切り捨て、7)には少なくとも2が含まれます。 8分の1には3つ含まれています。 16分の1には4が含まれます。

言い換えると、数値の半分には少なくとも2の累乗が含まれます。それらの半分には2の追加の累乗が含まれ、半分には追加などが含まれます。私たちの質問に対する答えは15 + 7 + 3 + 1 = 26です。

閉会の辞:どのようにこれを同様の問題に一般化できます。この場合、素数(この問題では2)を別の素数に変更するか、100!などのより大きな階乗について質問します。たとえば、100分の5の累乗! \ frac {100} {5} + \ frac {100} {25} = 20 + 4 = 24になります。

回答

2の累乗を微調整する必要があります

では、次のようにします

= 30/2 + 30/2 ^ 2 + 30/2 ^ 3 + 30/2 ^ 4

= 15 + 7 + 3 + 1

= 26

つまり、26は2の累乗です

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です