【求助】关于分治算法(小弟做了N久了,谢谢大哥帮忙呀)

bzwm 2005-06-21 10:02:32
用分治法求两个n位大整数 u和v 的乘积时,将 u和v 都分割成长度位n/3 位的3段。怎么才结合分配才能用5次 n/3位整数的乘法求得 uv 的值。
小弟我是先把 (注:3^2n/3 的意思是 3的 2n/3 次方,这里m表示这些数是几进制数,比如m为2,则表示u,v,A,B,C,D,E,F为二进制数)
u = A×m^(2n/3) + B×m^(n/3) + C
v = D×m^(2n/3) + E×m^(n/3) + F
比如 这里定义m=10, u=123456789,是 n=9的9位10进制数,则分解后为
123456789=123×10^6 + 456×10^3 + 789

说明到此
按照我原来的假定
uv= [A×m^(2n/3) + B×m^(n/3) + C]×[D×m^(2n/3) + E×m^(n/3) + F]

=AD×m^(4n/3)+AF×m^(2n/3) +BE×m^(2n/3)+CD×m^(2n/3)+AE×m^n +BD×m^n + CE×m^(n/3) +BF××m^(n/3) +CF

经过结合分配整理得
uv=AD×m^(4n/3) +[(A-B)(E-D)+AD+BE]×m^n + [BE+(A-C)(F-D)+CF+AD]×m^(2n/3)[(B-C)(F-E)+CF+BE]×m^(n/3) +CF
需要计算 AD,BE,CF ,(A-B)(E-D),(A-C)(F-D),(B-C)(F-E) 这六次 n/3 位整数得乘法,要怎么分配结合整理才能得到 5次,谢谢各位了!
也可以发Email给我,jnbzwm@163.com
谢谢了!
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bzwm 2005-06-22
  • 打赏
  • 举报
回复
算了,我也不问了,把分给你们两个吧
谢谢顶了一下!
bzwm 2005-06-21
  • 打赏
  • 举报
回复

强人呢
小弟第一贴啊,大家帮忙呀!
是不是分值太少,如果解答了,再给100啊!
bzwm 2005-06-21
  • 打赏
  • 举报
回复
英雄们 帮着看看呀,我的能力实在有限啊!
小弟等着呢!
zzol 2005-06-21
  • 打赏
  • 举报
回复
UP
bzwm 2005-06-21
  • 打赏
  • 举报
回复
楼上的,多谢顶一下!
我继续等
jixingzhong 2005-06-21
  • 打赏
  • 举报
回复
MARK!!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧