효율적인 거듭제곱 방법
Problem 122
출제 일시 : 2019-07-23 14:44:06, ☕ 8
가장 단순하게 n15을 계산하려면 14번의 곱셈이 필요하지만,
n × n × ⋯ × n = n15
"둘씩 짝짓는" 방법을 쓰면 6번으로도 가능합니다.
n × n = n2
n2 × n2 = n4
n4 × n4 = n8
n8 × n4 = n12
n12 × n2 = n14
n14 × n = n15
그러나 곱셈 횟수를 더 줄여서 다섯 번만에 계산하는 방법도 있습니다.
n × n = n2
n2 × n = n3
n3 × n3 = n6
n6 × n6 = n12
n12 × n3 = n15
이제 nk 의 계산에 필요한 곱셈의 최소 횟수를 m(k)라 하겠습니다. 예를 들어 m(15) = 5 입니다.
1 ≤ k ≤ 200 일 때, ∑ m(k) 를 구하세요.
(번역 도움: cfranck님)