Acwing793高精度乘法

题目

给定两个非负整数(不含前导 00) A 和 B,请你计算 A×B 的值。

输入格式

共两行,第一行包含整数 A,第二行包含整数 B

输出格式

共一行,包含 A×B 的值。

数据范围

1≤A的长度≤100000

0≤B≤100000

输入样例:

复制代码
2
3

输出样例:

复制代码
6

代码

这道题的b不用专门转换为数组,因为长度并不大,所以没有这个必要去转换

java 复制代码
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a = in.next();
        int[] a1 = new int[a.length()];
        for (int i = 0;i < a.length();i ++) {
            a1[i] = a.charAt(i) - '0';
        }
        int b = in.nextInt();
        Integer[] c = mul(a1, b);
        for (int i = c.length - 1;i >= 0;i --) {
            System.out.print(c[i]);
        }
    }

    private static Integer[] mul(int[] a1, int b) {
        List<Integer> c1 = new ArrayList<>();
        int t = 0;
        for (int i = a1.length - 1;i >= 0 || t > 0;i --) {
            if (i >= 0) {
                t += a1[i] * b;
            }
            c1.add(t % 10);
            t /= 10;
        }
        while (!c1.isEmpty() && c1.get(c1.size() - 1) == 0) c1.remove(c1.size() - 1);
        if (c1.isEmpty()) {
            c1.add(0);
        }
        return c1.toArray(new Integer[0]);

    }

}
相关推荐
JIngJaneIL20 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
小信啊啊20 小时前
Go语言切片slice
开发语言·后端·golang
Victor3561 天前
Netty(20)如何实现基于Netty的WebSocket服务器?
后端
缘不易1 天前
Springboot 整合JustAuth实现gitee授权登录
spring boot·后端·gitee
Kiri霧1 天前
Range循环和切片
前端·后端·学习·golang
WizLC1 天前
【Java】各种IO流知识详解
java·开发语言·后端·spring·intellij idea
Victor3561 天前
Netty(19)Netty的性能优化手段有哪些?
后端
爬山算法1 天前
Netty(15)Netty的线程模型是什么?它有哪些线程池类型?
java·后端
白宇横流学长1 天前
基于SpringBoot实现的冬奥会科普平台设计与实现【源码+文档】
java·spring boot·后端
Python编程学习圈1 天前
Asciinema - 终端日志记录神器,开发者的福音
后端