分治法求解大整数乘法的分解

xiaoqi571867778 73 0 rar 2018-12-27 05:12:06

模型改进: 可以把X*Y写成另一种形式: X*Y=A*C*2^n+[(A-B)(D-C)+AC+BD]*2^(n/2)+B*D (3) 式(3)看起来比式(1)复杂,但它仅需做3次n/2位整数的乘法:AC,BD和(A-B)(D-C),6次加、减法和2次移位。由此可得:用解递归方程的迭代公式法,不妨设n=2^k: T(n)=3T(n/2)+cn =3(3T(n/4)+cn/2)+cn =9(T(n/8)+ cn/4)+3cn/2+cn =…… =3^k +3^(k-1) *2c+3^(k-2) *4c+……+3c2^(k-1)+c2^k = O(n^log3) 则得到T(n)=O(n^log3)=O(n^1.59)。

用户评论
请输入评论内容
评分:
Generic placeholder image 卡了网匿名网友 2018-12-27 05:12:06

代码很好,解决了我的问题,但是因为个人的原因不太能理解。

Generic placeholder image 卡了网匿名网友 2018-12-27 05:12:06

很好。是我想要的。谢谢。

Generic placeholder image 卡了网匿名网友 2018-12-27 05:12:06

返回值用数组表示的问题

Generic placeholder image 卡了网匿名网友 2018-12-27 05:12:06

如果长度太长就不得了...所以说算不上好