大数相乘

有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。

输入
空格分隔的两个字符串,代表输入的两个大整数
输出
输入的乘积,用字符串表示
示例
输入
72106547548473106236
982161082972751393
输出
70820244829634538040848656466105986748

import java.util.Scanner;

public class Main {
    public static void main(String[]args) {
        Scanner in = new Scanner(System.in);
        String num1 = in.next();
        String num2 = in.next();
        int[] ret = new int[num1.length()+num2.length()];
        for(int i=num1.length()-1;i>=0;i--) {
            int x = num1.charAt(i)-'0';
            for(int j=num2.length()-1;j>=0;j--) {
                int y = num2.charAt(j)-'0';
                ret[i+j] += (ret[i+j+1]+x*y)/10;
                ret[i+j+1] = (ret[i+j+1]+x*y)%10;
            }
        }
        String s ="";
        for(int i=0;i

char转int -‘0‘ 为正好的 int
题源来自牛客

你可能感兴趣的:(大数相乘)