【发布时间】:2011-05-31 18:00:13
【问题描述】:
这是来自
的问题ACM 国际学院 亚洲区编程大赛 比赛,横滨,2006-11-05
从 x 开始,反复乘以 x,我们可以计算出 x^31 三十次乘法:
x^2 = x * x, x^3 = x^2 * x, x^6 = x^3 * x^3, x^7 = x^6 *x, x^14 = x^7 * x^7 ,
x^15 = x^14 * x, x^30 = x^15 * x^15 , x^31 = x^30 * x
编写一个程序来计算最少的运算次数x^n
对于给定的正整数n 和n<=200,通过以x 开头的乘法和除法
对于 n = 31,最少 #operations 是 6
对于 n = 50,最少的 #operations 是 7
欢迎提出任何想法。
【问题讨论】:
-
@Martinho Fernandes - 平方取幂不会使用最小操作数。
标签: algorithm dynamic-programming np-complete