当我运行我的程序时,我不断地收到这些错误,有人能发现错误吗?我没有使用递归的经验,我可能把基本情况搞砸了。我的测试由两个长度相同的数字组成,我的目标是在不使用内置类的情况下将两个大数相乘。方法add只接受两个字符串,它们是数字,并将它们相加,我检查了,不管数字有多大,它都能工作。
int length1 = value1.
我花了一天的大部分时间研究Karatsuba算法,只是因为我认为它会很有成效。我在这里看到过类似的问题,但它们都是用其他语言写的,而且看起来异常复杂。下面是我的代码。def karatsuba(x, y): return (x * y)
b = x % 10**(n / 2) d = y % 10**(n
我一直试图在java中实现Karatsuba算法,而不使用BigInteger。我的代码只适用于两个整数相同的情况&具有相同的数字数。我没有得到正确的答案,但是我得到的答案非常接近正确的答案。(a,c); long third=karatsuba(a+b,c+d);
如果叫karatsuba(1234,5678),我得到的答案是正确的,但是当我调用k
我首先用long编写了Karatsuba算法的代码。我觉得效果很好。使用相同的逻辑,我将代码转换为BigInteger,但出于某些原因,它给了StackOverflowError。public static BigInteger karatsuba3(BigInteger i, BigInteger j){ BigInteger second = karatsuba3(b,d);
BigInteger third = <e