主题:谁知道两个非常大的整数相乘有什么好的算法
skysea82410
[专家分:0] 发布于 2005-11-29 10:15:00
比如:123456789×987654321
回复列表 (共5个回复)
沙发
boxertony [专家分:23030] 发布于 2005-11-29 17:15:00
你举的例不够大,直接使用int64就可以运算了,呵呵。
如果几十甚至上百位相乘的话方法有:
1。小学生多位数乘法
2。分治法
3。fft
4。ntt
板凳
teamolina [专家分:50] 发布于 2005-11-29 22:31:00
一楼的大哥,能不能把那个方法说的详细点啊?
3 楼
boxertony [专家分:23030] 发布于 2005-11-29 23:21:00
第一种方法不用我说了吧。
第二种方法见:http://enjoy-math.equn.com/Math/Mathematical/multiplication.htm
第三&第四种方法比较复杂,你得自己看书去。
4 楼
固执的鱼 [专家分:0] 发布于 2007-10-13 14:32:00
既然_int64 定义的是64位整数,为什么我在编程时,大于20位就不行了呢?
5 楼
FreeKid [专家分:60] 发布于 2007-10-15 23:05:00
int64不是64位整数,是占用8个字节,64个二进制位。。。
我来回复