AcWing 793. 高精度乘法 Java 数组版本
原题链接
简单
作者:
装酷的小胖子
,
2021-04-02 22:09:48
,
所有人可见
,
阅读 309
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import static java.lang.System.*;
public class Main{
//int[] ans 会爆内存
public static byte[] mul(int [] a, int b){
byte[] ans = new byte[100000000];
int t = 0;
for(int i = 0; i< a.length || t > 0; i++){
if( i < a.length ) t += a[i] * b;
ans[i] = (byte) (t % 10);
t /= 10;
}
return ans;
}
public static void main(String[] agrs) throws IOException {
var br = new BufferedReader(new InputStreamReader(in));
var s = br.readLine();
var A = new int[s.length()];
int B = Integer.parseInt(br.readLine());
for(int i = s.length() -1, j = 0; i >= 0; i--, j++) A[j] = s.charAt(i) - '0';
var ans = mul(A, B);
int len = ans.length;
while(len > 0 && ans[-- len] == 0);
for(int i = len ; i >= 0; i--) out.print(ans[i]);
}
}