public static String multiply(String s1, String s2) {
StringBuilder sb1 = new StringBuilder(s1);
StringBuilder sb2 = new StringBuilder(s2);
sb1.reverse();
sb2.reverse();
int[] a = new int[sb1.length() + sb2.length()];
for (int i = 0; i < sb1.length(); i++) {
for (int j = 0; j < sb2.length(); j++) {
a[i + j] += (sb1.charAt(i) - '0') * (sb2.charAt(j) - '0');
}
}
for (int i = 0; i < a.length - 1; i++) {
a[i + 1] += a[i] / 10;
a[i] %= 10;
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < a.length - 1; i++) {
sb.append(a[i]);
}
if (a[a.length - 1] != 0) {
sb.append(a[a.length - 1]);
}
return sb.reverse().toString();
大整数乘法 java实现
最新推荐文章于 2024-07-14 03:26:01 发布
这段代码展示了如何使用Java实现两个大整数的乘法操作。通过将字符串转换为字符数组,然后逐位相乘并累加进位,最后组合结果。同时,也用BigInteger类进行了对比验证。
摘要由CSDN通过智能技术生成