0
我正在写分而治之算法,但我在递归调用时遇到了问题。它说,它无法找到符号方法乘法和变量M,E,男递归调用我的算法遇到问题
public class Multiply {
private static int randomInt(int size) {
int maxval = (1 << size) - 1;
return (int)(Math.random()*maxval);
}
public static int[] naive(int size, int x, int y) {
int[] result = new int[3];
if (size == 1) {
result[0] = x*y;
}
else {
int m = size/2;
int a = x/2;
int b = x % (int)Math.pow(2,m);
int c = y/(int)Math.pow(2,m);
int d = y % (int)Math.pow(2,m);
int e = Multiply(a,c,m);
int f = Multiply(b,d,m);
int g = Multiply(b,c,m);
int h = Multiply(a,d,m);
}
return ((int)Math.pow(2,2*m)*e) + ((int)Math.pow(2,m)*(g+h)) + f;
}
谢谢!这似乎工作,但我得到一个新的错误(/Multiply.java:27:不兼容的类型 发现:INT [] 必需:INT) – user2980566 2015-04-01 17:13:49
该问题是在你的'返回'行。尝试:'result [0] =((int)...'然后'返回结果;' – Barett 2015-04-01 19:16:58