摘要: 求x^m 一般方法是 xm = x * xm-1,这样需要做m次乘法,未免过慢。加速方法有两种。1.基于当m为偶数时, xm = (x2)^(m/2) ;当m为奇数时, xm = x * xm-1。显然当m为偶数时m会减半,当m为奇数时,下次就是偶数。m可以很快收敛到0.(^表示幂)2.将m看成二进制串mkmk-1...m1m0,那么xm = xm0*2^0 + m1*2^1 + ... + mk*2^k = xm0*2^0 * xm1*2^1 * ... * xmk*2^k. mi为0或1,假设平均有一半mi为1,即k个,那么总共才只需要做(k+(k/2))次乘法。下面给出代码。第一个方法是 阅读全文
posted @ 2013-10-25 09:22 7hat 阅读(830) 评论(0) 推荐(0) 编辑