以上是在《算法设计与分析基础》一书中给出的定义。
这种算法只包括折半、加倍、相加这几个操作,在计算时,不需要用九九乘法表 。
同时,这个方法每次都会将计算的规模减少,运用了减治的思想
public class Main {
public static void main(String[] args) {
int result = RusseMul(24,32);
System.out.println(result);
}
public static int RusseMul(int n,int m){
int result = m;
if(n == 1) {
return result;
}
else {
if(n % 2 == 0) {
result = RusseMul(n/2,2*m);
}
else {
result = RusseMul((n-1)/2,2*m) + m;
}
}
return result;
}
}