数据结构【高精度专题】
// 高精度加法
// 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;
}
数据结构【高精度专题】相关推荐
- 《数据结构》专题10--最短路
A - 图结构练习--最短路径 Description 给定一个带权无向图,求节点1到节点n的最短路径. Input 输入包含多组数据,格式如下. 第一行包括两个整数n m,代表节点个数和边的个数.( ...
- 《数据结构》专题9--图的遍历DFSBFS
A - 数据结构实验之图论二:图的深度遍历 Description 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出.遍历时,先遍历节点编号小的. Input 输入第一行为整 ...
- 《数据结构》专题3--串和数组
A - 数据结构实验之串一:KMP简单应用 Description 给定两个字符串string1和string2,判断string2是否为string1的子串. Input 输入包含多组数据,每组测试 ...
- 数据结构算法专题—双指针
双指针 定义 头/尾指针 快慢指针 总结 定义 双指针是指有两个游标指针指向不同的位置.比如二分法用到的左/右指针(头/尾指针),滑动窗口用到的快/慢指针和固定间距指针等. 头/尾指针 头/尾指针是指 ...
- 【Python基础】盘点 Python 10 大常用数据结构(下篇)
我的施工之路 虽然艰辛,却有读者们陪伴 Python 常用数据结构 此专题<盘点Python10大常用数据结构>目录: 学习目的 学习目标 1 list 2 tuple 3 set 4 d ...
- js 点击闭包_【新年跳槽必备】2020最新(前端原生JS专题)面试题 速领!
最近我把每周更新的面试题 发在我们的学习群里 大家似乎都很高冷哇 难道是默默的做题去了没说话 每期面试题都是Richard老师认真准备的 真的希望能帮到大家哦 本期是前端原生JS专题 A前端原生JS专 ...
- 「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)
目录(技术文) 多关于索引,分为以下几点来讲解: 一.索引的概述(什么是索引,索引的优缺点) 二.索引的基本使用(创建索引) 三.索引的基本原理(面试重点) 四.索引的数据结构(B树,hash) 五. ...
- 算法与数据结构+LeetCode题解-Js版
LeetCode题解Js版 https://webbj97.github.io/leetCode-Js/ 题外话 LeetCode题解:传送门 前端笔记:传送门 项目背景 旨在提高自己对算法的理解,将 ...
- 走进算法和数据结构(一)——算法绪论(一)
14天阅读挑战赛 很偶然的机会,看到了CSDN举办14天阅读打卡活动,是关于算法的有关内容,正巧,自己也想写写算法.数据结构的知识,于是,借助这个机会,开始自己写算法和数据结构的专题内容. 算法和数据 ...
最新文章
- javascript onmouseout问题解决方案
- 【转】【UNITY3D 游戏开发之五】Google-protobuf与FlatBuffers数据的序列化和反序列化...
- 使用jquery处理数据时要注意的问题
- java 异常处理 return,求大神!!!!java 异常处理中return的意思
- oracle insert 新增语句
- aix 卸载mysql_AIX 删除数据库及集群软件
- Asp.net中Js、Css文件压缩辅助类
- 播放器之争:VLC VS SmartPlayer
- VS工作笔记-C++在release模式下可以进行调试
- Dubbo(十五)springboot工程dubbo整合SpringCloud Hystrix
- by mybatis 自定义order_springboot2结合mybatis拦截器实现主键自动生成
- 周鸿祎:有的人在25岁时就死了,但在75岁时才被埋葬
- WebApiThrottle限流框架
- android apk 在线分析,Android Apk安装过程解析
- 用 VC++ 调用最小的浏览器内核创建一个简易的浏览器
- 网页视频播放器代码大全 + 21个为您的网站和博客提供的免费视频播放器
- VK1640兼用TM1640
- html 设置整体字体,html font标签如何设置字体样式
- 进阶的阿牛哥之pandas透视表pivot_table的使用
- VMvare虚拟机删除快照时卡住的解决办法