您的位置:首页 > 编程语言 > Java开发

减治法解决俄式乘法问题(JAVA)

2018-02-03 19:25 267 查看


以上是在《算法设计与分析基础》一书中给出的定义。

这种算法只包括折半、加倍、相加这几个操作,在计算时,不需要用九九乘法表 。

同时,这个方法每次都会讲计算的规模减少,运用了减治的思想 
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息