Acwing794高精度除法

题目

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

输入格式

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

输出格式

共两行,第一行输出所求的商,第二行输出所求余数。

数据范围

1≤A的长度≤100000 1≤B≤10000 B 一定不为 00

输入样例:

复制代码
7
2

输出样例:

复制代码
3
1

代码

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

public class Main {
    static int yu;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        int[] a = new int[s.length()];
        for (int i = 0 ;i < s.length();i ++) {
            a[i] = s.charAt(i) - '0';
        }
        int b = in.nextInt();
        Integer[] c = div(a, b);
        for (int i = 0;i < c.length;i ++) {
            System.out.print(c[i]);
        }
        System.out.println();
        System.out.println(yu);
    }

    private static Integer[] div(int[] a, int b) {
        List<Integer> sc = new ArrayList<>();
        int r = 0;
        for (int i =0;i < a.length;i ++) {
            r = r * 10 + a[i];
            sc.add(r / b);
            r = r % b;
        }
        yu = r;
        while (!sc.isEmpty() && sc.get(0) == 0) {
            sc.remove(0);
        }
        if(sc.isEmpty())    sc.add(0);
        return sc.toArray(sc.toArray(new Integer[0]));
    }
}
相关推荐
林太白4 分钟前
Rust认识安装
前端·后端·rust
掘金酱5 分钟前
🔥 稀土掘金 x Trae 夏日寻宝之旅火热进行ing:做任务赢大疆pocket3、Apple watch等丰富大礼
前端·后端·trae
xiayz7 分钟前
引入mapstruct实现类的转换
后端
Java微观世界11 分钟前
深入解析:Java中的原码、反码、补码——程序员的二进制必修课
后端
不想说话的麋鹿12 分钟前
《NestJS 实战:RBAC 系统管理模块开发 (四)》:用户绑定
前端·后端·全栈
Java水解1 小时前
JavaScript 正则表达式
javascript·后端
前端付豪2 小时前
微信支付风控系统揭秘:交易评分、实时拦截与行为建模全流程实战
前端·后端·架构
深栈解码2 小时前
OpenIM 源码深度解析系列(四):在线状态相关存储结构
后端
前端付豪2 小时前
微信视频号推荐系统揭秘:兴趣建模、多模态分析与亿级流控架构实战
前端·后端·算法
bcbnb2 小时前
跨平台接口一致性调试实录:如何用Sniffmaster等多款抓包工具拆解一个偶发Bug
后端