#author("2021-10-24T11:35:07+00:00","","")
#author("2021-10-24T11:36:32+00:00","","")
*[[Problem 122:http://projecteuler.net/problem=122]] 「効率的なべき乗計算」 [#yf9288c3]

&tex{n^{15}};を求めるのに最も単純な方法では 14 回の掛け算が必要である.

>>> n × n × ... × n = &tex{n^{15}};

しかし2進法を用いれば, 6 回の掛け算で計算できる.

>>> n × n = &tex{n^{2}};~
&tex{n^{2}}; × &tex{n^{2}}; = &tex{n^{4}};~
&tex{n^{4}}; × &tex{n^{4}}; = &tex{n^{8}};~
&tex{n^{8}}; × &tex{n^{4}}; = &tex{n^{12}};~
&tex{n^{12}}; × &tex{n^{2}}; = &tex{n^{14}};~
&tex{n^{14}}; × n = &tex{n^{15}};

ところがたった 5 回の掛け算のみでも計算できる.

>>> n × n = &tex{n^{2}};~
&tex{n^{2}}; × n = &tex{n^{3}};~
&tex{n^{3}}; × &tex{n^{3}}; = &tex{n^{6}};~
&tex{n^{6}}; × &tex{n^{6}}; = &tex{n^{12}};~
&tex{n^{12}}; × &tex{n^{3}}; = &tex{n^{15}};

m(&tex{k};)を &tex{n^{k}}; を求めるのに必要最低限な掛け算の回数と定義する.
たとえば m(15)=5 である.

1 ≤ &tex{k} ≤ 200 に対し, Σ m(&tex{k}) を求めよ.
1 ≤ &tex{k}; ≤ 200 に対し, Σ m(&tex{k};) を求めよ.

IP:183.176.112.9 TIME:"2021-10-24 (日) 20:36:32" REFERER:"http://odz.sakura.ne.jp/projecteuler/index.php" USER_AGENT:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:93.0) Gecko/20100101 Firefox/93.0"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS