高精度算法
run around
这个作者很懒,什么都没留下…
展开
-
高精度加法
当遇到long long也存放不下的数据时,要进行运算的话,就要用到高精度运算了,以函数的形式给出,因为常常在一道题中高精度运算只是其中的一部分 复杂度 : O(n) string add(string a,string b) { string ans,res; int len1=a.length()-1; int len2=b.length()-1; int inter=0; whil...原创 2019-04-28 20:08:54 · 178 阅读 · 0 评论 -
高精度减法
高精度减法和加法差不多,只要解决一下难点即可 1. 结果是负数的情况:自己写一个比较大小的函数,保证是大数减小数,结果为负只要在返回的函数上加一个负号即可 2. 存在前导0的情况:最后算出答案后从后遍历,while循环消除前导0 bool cmp(string a,string b) //比较两个字符串的函数,a>=b返回true,否则返回false { int len1 = a....原创 2019-04-28 20:29:18 · 175 阅读 · 0 评论 -
高精度乘法
高精度乘法就不同于加法减法那么简单了 首先明确两点: 1. n位的数乘m位的数最多n+m位 2. 乘数的每一位都要和被乘数全部相乘,复杂度O(n^2) string mul(string a,string b) { string res; int len1 = a.length(); int len2 = b.length(); vector<int> ans(len1+len...原创 2019-04-28 21:01:50 · 243 阅读 · 0 评论 -
高精度除法
除法的本质其实就是减法,按位找到可以除的就除 bool cmp(string a,string b) { int len1=a.length(); int len2=b.length(); if( len1==len2 ) { for(int i=0;i<len1;i++) { if( a[i]<b[i] ) return false; else if( ...原创 2019-04-30 21:07:15 · 179 阅读 · 0 评论