【模板】高精度除低精度

2023-10-27

1.数组

#include <iostream>
#include <cstring>

using namespace std;

const int N = 100010;

char A[N];
int a[N], b, c[N];

int main()
{
    cin >> A >> b;
    
    int la = strlen(A);
    
    // 正序存储
    for (int i = 0; i < la; i++)
    {
        a[i] = A[i] - '0';
    }
    
    int r = 0;
    for (int i = 0; i < la; i++)
    {
        r = r * 10 + a[i];
        c[i] = r / b;
        r %= b;
    }
    
    // 删除前导0
    int cs = 0;
    while (cs < la - 1 && c[cs] == 0)
    {
        cs++;
    }
    
    // 输出商
    for (int i = cs; i < la; i++)
    {
        cout << c[i];
    }
    cout << endl;
    
    // 输出余数
    cout << r << endl;

    return 0;
}

2.vector(推荐)

利用 vector 逆序存储大整数,将高精度除低精度封装成函数,方便在复杂的题目中直接调用。

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> div(vector<int> &a, int b, int &r)
{
    vector<int> c;
    
    r = 0;
    for (int i = a.size() - 1; i >= 0; i--)
    {
        r = r * 10 + a[i];
        c.push_back(r / b);
        r %= b;
    }
    
    reverse(c.begin(), c.end());
    
    // 删除前导0
    while (c.size() > 1 && c.back() == 0)
    {
        c.pop_back();
    }
    
    return c;
}

int main()
{
    string A;
    int b;
    cin >> A >> b;
    
    vector<int> a, c;
    
    // 逆序存储
    for (int i = A.size() - 1; i >= 0; i--)
    {
        a.push_back(A[i] - '0');
    }
    
    int r;
    c = div(a, b, r);
    
    // 商,逆序输出
    for (int i = c.size() - 1; i >= 0; i--)
    {
        cout << c[i];
    }
    cout << endl;
    
    // 余数,逆序输出
    cout << r << endl;

    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【模板】高精度除低精度 的相关文章

随机推荐

  • 区块链在数字经济中的地位和作用都有哪些?

    区块链是校正经济数字化进程的关键性底层技术架构 具有不可替代的作用 数字经济的关键技术包括大数据 物联网 人工智能 区块链等 技术是实现经济数字化的手段 不同的技术在经济数字化过程中扮演着不同的角色 云计算 边缘计算 IPFS按需提供数据存
  • Android加密和解密(DES,AES,MD5)

    加密是通过加密算法和加密密钥将明文转变为密文的过程 解密是其逆过程 加密算法有很多种 一般可以分为对称加密 如DES AES等 非对称加密 如RSA等 和单向加密 如MD5等 3类算法 1 在对称加密算法中 双方使用的密钥相同 要求解密方事
  • 科技查新报告的查新流程

    科技查新可以当天出报告吗 亲 我着急做一篇科技查新 当天能出报告吗 一天的时间是不够的 额 一般是多久呢 二到十个工作日 大家可能会很疑惑 为啥连查新员自己都不好确定报告的完成时间呢 这就要说说一份科技查新报告是怎么写出来的了 看完这个业务
  • C语言编写学生籍贯信息记录簿

    学生籍贯信息记录簿 前言 这是本人第一次写博客 有不足之处请见谅 本文是利用简单的C语言编写的学生籍贯信息记录簿 写这篇是为了记录学习过程 也为后来者提供一些参考和思路 我使用的平台为Visual C 6 0 其功能主要分为录入 保存 查询
  • hadoop报错:Exception in thread “main“ org.apache.hadoop.security.AccessControlException: Permission de

    Exception in thread main org apache hadoop security AccessControlException Permission denied user xuan access WRITE inod
  • R 安装函数包及绘制图形

    R语言绘制简单条形图 一 载入数据 1 安装函数包 2 导入文件 3 读取数据 csv文件 二 绘制图形 绘制简单条形图 一 载入数据 1 安装函数包 在控制台console输入命令 install packages bruceR 查看是否
  • Qt笔记(五十九)之Qt使用自定义字体

    一 前言 楼主在实际开发中 遇到有使用对界面字体要求的需求 有些客户希望用自己的字体 一开始 楼主还是有点懵 但是想到Qt一开始肯定是考虑到这个方式了 于是就去寻找 果然有 二 设置字体 1 使用内置字体 常规的设置方式 QApplicat
  • python语法-函数多返回值、函数多种传参方式、匿名函数

    python语法 函数多返回值 函数多种传参方式 匿名函数 函数多返回值 函数多个返回值 def test return return 1 hello True x y z test return print f x x ny y nz z
  • angularJs中的发送请求例子

    http 发送请求 url http localhost 8080 teacher api login method post data obj success function data rootScope data data 返回结果
  • MacBookAir M1 遇到 nodesass不兼容问题的解决方案

    引言 在工作中接手了一个新项目 项目采用了nodesass 想尽方法让他跑起来 却抛出一个错误 Node Sass does not yet support your current environment OS X Unsupported
  • [1151]python连接 redis cluster集群

    使用pip search查看可安装的Redis模块版本 PS D code gt pip install pip search 安装pip search模块 PS D code gt pip search redis 利用pip searc
  • 从DEMO到完成项目过程的流程

    一 项目评审 认真看demo需求是关键 根据项目demo原型 将项目功能点细分 按每个功能点实现的大致期限 去估计整个项目的期限 一旦项目评估预期确定 需要严格按照预期来实现 决不能拖拉 二 项目实施中 项目实施中 尽量以实现demo功能为
  • QQ机器人相关指令实现-对接小夹子

    代码地址以及视频地址 代码地址 视频地址 实现小夹子网的对接 打开小夹子网了解如何对接 小夹子网 小夹子API对接文档 完成认证的功能 通过小夹子网编写相关常量信息 public interface ClipWebConstants 基础路
  • 判断链表有环并返回入环的第一个节点

    这个问题可以两部分组成 1 首席判读链表是否有环 2 有环的话 在公共点拆开 设在ptr1 ptr2 那么ptr2前进一步 ptr2 ptr2 gt next ptr1拆链表 ptr1 gt next NULL 此时 就有两个链表了 一个是
  • 9008小米售后权限账号_小米救砖教程

    今早在头条看到个微头条 大概意思是小米9有锁机只需要几百块 然后就有人在下边评论说 为什么要出这期解锁教程呢 是因为某些沙雕说小米9进9008刷机不需要售后权限 当然并没有在上图出现 我当场笑喷 首先普及一下 mi8及以上用9008刷机需要
  • Camera根据鼠标操作观察物体(移动,转动,滑动)

    领导安排了一个任务 客户需求根据鼠标操作可以更详细的观察物体 于是开始研究Camera的使用 客户要求 1 按住右键可以旋转观察物体 2 按住左键可以平移的上下拖动视角 3 滚动滑轮可以拉近距离 思路 需要移动的是摄像机而不是物体 因为物体
  • 猜数字游戏

    define CRT SECURE NO WARNINGS 1 include
  • 在 Spring 中 Mock RestTemplate

    如果我们程序中使用了 RestTemplate 进行 HTTP API 调用 通常在编写单元测试时 为了让测试可控 会将 RestTemlate 调用进行 mock 而不是进行真实的 HTTP API 调用 这里 我们将介绍两种 mock
  • 【华为OD机试 2023】 打印机队列(C++ Java JavaScript Python)

    华为od机试题库 华为OD机试2022 2023 C Java JS Py https blog csdn net banxia frontend category 12225173 html 华为OD机试2023最新题库 更新中 C Ja
  • 【模板】高精度除低精度

    文章目录 1 数组 2 vector 推荐 1 数组 include