唔,今天做了道二级题,初中算数,求实数的小数部分,不要零。把我憋了好几个小时,还憋不出来。问了下学长,可能是我表达的不清楚,学长跟我说不能实现?,吓死宝宝了。我只好把原题发过去了?,学长说用数组模拟乘法(我能说不懂吗?),只好问度娘。
大数乘法,主要有以下几种思路:
1.模拟小学乘法:最简单的乘法竖式手算的累加型;
2.分治乘法:最简单的是Karatsuba乘法,一般化以后有Toom-Cook乘法;
3.快速傅里叶变换FFT:(为了避免精度问题,可以改用快速数论变换FNTT),时间复杂度O(N lgN lglgN);
4.中国剩余定理:把每个数分解到一些互素的模上,然后每个同余方程对应乘起来就行;
5.Furer’s algorithm.
模拟小学乘法就是我遇到的问题啦,看到度娘给出的例子代码,好多没接触的英文,头就好痛,呜呜呜。我要继续去钻研大数乘法了。