• 締切済み

るい乗・べき乗の計算量

例えば5の7乗を計算する場合、5×5×5×5×5×5×5と普通に考えれば6回の「かけ算」で計算ができます。「かけ算6回」ということですね。でも実際は、5×5で5の2乗を計算したら、5の2乗×5の2乗で5の4乗を計算して、それに5の2乗と5をかける。つまり、 (5×5)×(5の2乗)×(5の2乗)×5の4回のかけ算で済みます。 ちなみに、47乗ならば8回だと思うのですが、、、 どなたかこの「べき乗を計算するためのかけ算の最小回数」を求める求め方、、、を教えてください。

みんなの回答

  • pancho
  • ベストアンサー率35% (302/848)
回答No.5

#1の者です。 この手の問題は、回数についての「見込みがついていて検証のみ場合」と「見当すらついていない場合」で方針が違ってきます。 質問の仕方から、問題を提起しただけで見込みもついていない状態と判断されたため、ご自身での努力を促す意味でヒントのみとしました。 「2進数表記せよ」とは、これによって回数の上限と下限が抑えられるので、検討の第一段階となるからですが、これも必要ないようですね。 コメントを見ていると、とても人に教えを請う態度ではなさそうなので、これ以上は差し控えておきます。 以上。

  • gamasan
  • ベストアンサー率19% (602/3160)
回答No.4

にゃるほど 5条を先に計算するのか・・・大汗 失礼しました。

mahler3
質問者

補足

面倒なのでまとめてコメントを。 2進数で済むのならここで尋ねたりはしません。 それから、知りたいのは一般的な解法なんです。 a^27=(((axa)xa)xa^3xa^3)xa^9xa^9 で合計6回ですよね。 (((axa)xa^2)xa^4)xa^8xa^8xa^2xa だと7回ですよね。 27=11011(2進数) かな。 これじゃあ困るんです。最小じゃない。

  • gamasan
  • ベストアンサー率19% (602/3160)
回答No.3

(5×5)×(5の2乗)×(5の4乗)×(5の8乗) ×(5の16乗)×(5の16乗÷5)必殺技・・・だめ? 掛け算しか使えないなら 最後の15乗を8乗、4乗、2乗 5に分けるから 9回じゃないですか? ヒントとしては トーナメント表でしょう 何段の表になるかですね 

回答No.2

最小回数は8回でよいと思います。 1回 5×5=5^2 2回 5^2×5^2=5^4 3回 5^4×5=5^5 4回 5^5×5^5=5^10 5回 5^10×5^5=5^15 6.7.8回 5^15×5^15×5^15×5^2=5^47 あとは7回でできない証明をすればよいのではないでしょうか、この証明は地道に細かく場合に分けてやっていくしかないと思います。 参考までに計算回数だけでいえば5^48を計算して5で割れば7回でできると思います。

mahler3
質問者

補足

47乗だけを確かめたいのではないのです。 一般的にn乗であれば何回のかけ算でできるか? その最小値を示すアルゴリズムなり関数なりを知りたいのです。 ですから高々47についてだけ証明してもね。 わり算は使いません。(笑)

  • pancho
  • ベストアンサー率35% (302/848)
回答No.1

答えをすぐ書いてしまうのはもったいないので、ヒントだけにしておきます。 べき数を2進数で表記してみてください。その内、1となっている数を数えると...。 以上。

mahler3
質問者

補足

甘いですね。

関連するQ&A