首页 新闻 会员 周边 捐助

快速乘法忘记怎么实现了.谁知道的

0
悬赏园豆:20 [已解决问题] 解决于 2014-11-04 15:36

Int 乘法(整数1,整数2)

{

  int 结果=整数1;

  整数2--;

  while 整数2>0

  {

    if(整数2&0x01)

    {

      结果+=整数1;

    }

    else

    {

      整数2>>1;

      结果<<1;

      这边做的运算是什么来着.我实在想不起来了```

    }

  }

}

a*b=a+a*(b-1)

a*b=(b/2)*(a*2)

吴瑞祥的主页 吴瑞祥 | 高人七级 | 园豆:29449
提问于:2014-08-04 16:14
< >
分享
最佳答案
0

你是要快速傅里叶变换计算法?

使用快速傅里叶变换计算大整数乘法

两个 N 位数字的整数的乘法,如果使用常规的算法,时间复杂度是 O(N2)。然而,使用快速傅里叶变换,时间复杂度可以降低到 O(N logN loglogN)

收获园豆:15
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-08-04 16:31

没那么高端`我又不懂高数微积分的``就是初中的数学知识,我改了下,你看下是不是那个式子

吴瑞祥 | 园豆:29449 (高人七级) | 2014-08-04 16:37
其他回答(1)
0
收获园豆:5
Moral | 园豆:236 (菜鸟二级) | 2014-08-05 19:37

....不是这种,是一种算法,不过在.net里的一般的X86CPU是有乘法指令的.优化算法没说明意义

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-08-06 09:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册