用分治法求两个n位的大整数u和v的乘积时,将u和v分割为n/3位

booming 2005-07-13 10:35:42
用分治法求两个n位的大整数u和v的乘积时,将u和v分割为n/3位

的3段.证明可以用5次n/3位整数的乘法求得uv值.设计算法,并

求复杂性.
...全文
2019 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
booming 2005-09-06
  • 打赏
  • 举报
回复
因为结贴期限到,不得不结贴。其实答案还不大好。谁能提供更好答案。我另外开贴加分。谢谢!!
booming 2005-09-05
  • 打赏
  • 举报
回复
我不会开展啊。:(

谁帮一把
eforensics 2005-08-19
  • 打赏
  • 举报
回复
how
booming 2005-08-02
  • 打赏
  • 举报
回复
up
yaos 2005-07-31
  • 打赏
  • 举报
回复
你把后三个展开求结果就知道了
booming 2005-07-20
  • 打赏
  • 举报
回复
将u分成u1,u2,u3三段,v分成v1,v2,v3三段
只需五次乘法,分别:
u1*v1
u3*v3
(u1+u2+u3)*(v1+v2+v3)
(u1-u2+u3)*(v1-v2+v3)
(u1-2*u2+2*u3)*(v1-v2+v3)

通过这五个即可得到u*v
--------------------------
具体咋弄?
booming 2005-07-20
  • 打赏
  • 举报
回复
up[
yaos 2005-07-19
  • 打赏
  • 举报
回复
因为这个算法 仅当数字比较小时才好
数字大时,不如FFT等算法

但是,当3分时,相应要增加很多工作量,增加的工作量要低于比2分快的部分的情况才有用处
2分大约在256-10000比特有效
估计3分效率超过2分的范围不会很大

另外,3分相对2分必然要增加很多临时变量,会出现很多内存的分配和数据传送情况
实际效率也要打折扣

liangbch 2005-07-15
  • 打赏
  • 举报
回复
我觉得也是。
booming 2005-07-15
  • 打赏
  • 举报
回复
?
yaos 2005-07-15
  • 打赏
  • 举报
回复
没有实际意义
booming 2005-07-14
  • 打赏
  • 举报
回复
up
isrunnIng 2005-07-14
  • 打赏
  • 举报
回复
将u分成u1,u2,u3三段,v分成v1,v2,v3三段
只需五次乘法,分别:
u1*v1
u3*v3
(u1+u2+u3)*(v1+v2+v3)
(u1-u2+u3)*(v1-v2+v3)
(u1-2*u2+2*u3)*(v1-v2+v3)

通过这五个即可得到u*v

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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