布思算法Java实现

     public String multiply(String Q,String M){
char Q0 = '0';
String A = get01(Q.length(),"0");
for (int i=0;i<Q.length();i++){
String QQ0 =Q.charAt(Q.length()-1)+""+Q0; if (QQ0.equals("10")){
A=substract(A,M).substring(1);
}
else if (QQ0.equals("01")){
A=add(A,M).substring(1);
}
String temp = shiftRight(A+Q+Q0);
A=temp.substring(0,A.length());
Q = temp.substring(A.length(),2*A.length());
Q0 = temp.charAt(temp.length()-1);
}
return A+Q;
}
上一篇:hdu 5734 Acperience 水题


下一篇:【LeetCode】90. Subsets II 解题报告(Python & C++)