算法-大整数相乘

题目描述

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

输入描述:

空格分隔的两个字符串,代表输入的两个大整数

输出描述:

输入的乘积,用字符串表示


import java.util.Scanner;

public class Main{

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        String num1 = sc.nextBigDecimal().toString();

        String num2 = sc.nextBigDecimal().toString();


        int[] res = 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';

                res[i+j] += (res[i+j+1] + x*y)/10;    //进位数

                res[i+j+1] = (res[i+j+1] + x*y)%10;  //

            }

        }


        String str = "";

        for(int i = 0; i < res.length; i++){

            if(i==0&&res[i]==0) continue;

            str += res[i];

        }

        System.out.println(str);

    }

}



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • <center>#1 Two Sum</center> link Description:Given an arr...
    铛铛铛clark阅读 2,355评论 0 3
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,397评论 0 9
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 2,082评论 0 2
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 3,216评论 0 3
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,573评论 0 4

友情链接更多精彩内容