// 高精度加法
// C = A + B, A >= 0, B >= 0
vector<int> add(vector<int> &A, vector<int> &B)
{if (A.size() < B.size()) return add(B, A);vector<int> C;int t = 0;for (int i = 0; i < A.size(); i ++ ){t += A[i];if (i < B.size()) t += B[i];C.push_back(t % 10);t /= 10;}if (t) C.push_back(t);return C;
}// 高精度减法
// C = A - B, 满足A >= B, A >= 0, B >= 0
vector<int> sub(vector<int> &A, vector<int> &B)
{vector<int> C;for (int i = 0, t = 0; i < A.size(); i ++ ){t = A[i] - t;if (i < B.size()) t -= B[i];C.push_back((t + 10) % 10);if (t < 0) t = 1;else t = 0;}while (C.size() > 1 && C.back() == 0) C.pop_back();return C;
}// 高精度乘低精度
// C = A * b, A >= 0, b > 0
vector<int> mul(vector<int> &A, int b)
{vector<int> C;int t = 0;for (int i = 0; i < A.size() || t; i ++ ){if (i < A.size()) t += A[i] * b;C.push_back(t % 10);t /= 10;}return C;
}// 高精度除以低精度
// A / b = C ... r, A >= 0, b > 0
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());while (C.size() > 1 && C.back() == 0) C.pop_back();return C;
}

数据结构【高精度专题】相关推荐

  1. 《数据结构》专题10--最短路

    A - 图结构练习--最短路径 Description 给定一个带权无向图,求节点1到节点n的最短路径. Input 输入包含多组数据,格式如下. 第一行包括两个整数n m,代表节点个数和边的个数.( ...

  2. 《数据结构》专题9--图的遍历DFSBFS

    A - 数据结构实验之图论二:图的深度遍历 Description 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出.遍历时,先遍历节点编号小的. Input 输入第一行为整 ...

  3. 《数据结构》专题3--串和数组

    A - 数据结构实验之串一:KMP简单应用 Description 给定两个字符串string1和string2,判断string2是否为string1的子串. Input 输入包含多组数据,每组测试 ...

  4. 数据结构算法专题—双指针

    双指针 定义 头/尾指针 快慢指针 总结 定义 双指针是指有两个游标指针指向不同的位置.比如二分法用到的左/右指针(头/尾指针),滑动窗口用到的快/慢指针和固定间距指针等. 头/尾指针 头/尾指针是指 ...

  5. 【Python基础】盘点 Python 10 大常用数据结构(下篇)

    我的施工之路 虽然艰辛,却有读者们陪伴 Python 常用数据结构 此专题<盘点Python10大常用数据结构>目录: 学习目的 学习目标 1 list 2 tuple 3 set 4 d ...

  6. js 点击闭包_【新年跳槽必备】2020最新(前端原生JS专题)面试题 速领!

    最近我把每周更新的面试题 发在我们的学习群里 大家似乎都很高冷哇 难道是默默的做题去了没说话 每期面试题都是Richard老师认真准备的 真的希望能帮到大家哦 本期是前端原生JS专题 A前端原生JS专 ...

  7. 「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)

    目录(技术文) 多关于索引,分为以下几点来讲解: 一.索引的概述(什么是索引,索引的优缺点) 二.索引的基本使用(创建索引) 三.索引的基本原理(面试重点) 四.索引的数据结构(B树,hash) 五. ...

  8. 算法与数据结构+LeetCode题解-Js版

    LeetCode题解Js版 https://webbj97.github.io/leetCode-Js/ 题外话 LeetCode题解:传送门 前端笔记:传送门 项目背景 旨在提高自己对算法的理解,将 ...

  9. 走进算法和数据结构(一)——算法绪论(一)

    14天阅读挑战赛 很偶然的机会,看到了CSDN举办14天阅读打卡活动,是关于算法的有关内容,正巧,自己也想写写算法.数据结构的知识,于是,借助这个机会,开始自己写算法和数据结构的专题内容. 算法和数据 ...

最新文章

  1. javascript onmouseout问题解决方案
  2. 【转】【UNITY3D 游戏开发之五】Google-protobuf与FlatBuffers数据的序列化和反序列化...
  3. 使用jquery处理数据时要注意的问题
  4. java 异常处理 return,求大神!!!!java 异常处理中return的意思
  5. oracle insert 新增语句
  6. aix 卸载mysql_AIX 删除数据库及集群软件
  7. Asp.net中Js、Css文件压缩辅助类
  8. 播放器之争:VLC VS SmartPlayer
  9. VS工作笔记-C++在release模式下可以进行调试
  10. Dubbo(十五)springboot工程dubbo整合SpringCloud Hystrix
  11. by mybatis 自定义order_springboot2结合mybatis拦截器实现主键自动生成
  12. 周鸿祎:有的人在25岁时就死了,但在75岁时才被埋葬
  13. WebApiThrottle限流框架
  14. android apk 在线分析,Android Apk安装过程解析
  15. 用 VC++ 调用最小的浏览器内核创建一个简易的浏览器
  16. 网页视频播放器代码大全 + 21个为您的网站和博客提供的免费视频播放器
  17. VK1640兼用TM1640
  18. html 设置整体字体,html font标签如何设置字体样式
  19. 进阶的阿牛哥之pandas透视表pivot_table的使用
  20. VMvare虚拟机删除快照时卡住的解决办法

热门文章

  1. 幻灯片演示什么模式最好_清洁单元测试图案–演示幻灯片
  2. junit规则_JUnit规则
  3. 平台框架_从框架到平台
  4. cp ft wat_Java数组,Wat!
  5. java 将光标移至行首_Java:将条件移至消息文件
  6. 如何在Tomcat中设置JNDI数据库连接池-Spring教程示例
  7. 因此,甲骨文杀死了java.net
  8. Swing应用程序中的CDI事件可将UI与事件处理分离
  9. Spring Boot和Swagger UI
  10. 带有调试器的Apache Camel Eclipse工具