目录

  • 高精度加法
  • 高精度减法
  • 高精度乘法
  • 高精度除法

高精度加法

#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
vector<int> add(vector<int> A,vector<int> B)
{vector<int> C; int t=0;for(int i=0;i<A.size()||i<B.size();i++){if(i<A.size()) t+=A[i];if(i<B.size()) t+=B[i];C.push_back(t%10);t/=10;}if(t) C.push_back(1);return C;
}
int main(void)
{string s1,s2; cin>>s1>>s2;vector<int> A,B;for(int i=s1.size()-1;i>=0;i--) A.push_back(s1[i]-'0');for(int j=s2.size()-1;j>=0;j--) B.push_back(s2[j]-'0');auto C=add(A,B);for(int i=C.size()-1;i>=0;i--) cout<<C[i];cout<<endl;return 0;
}

高精度减法

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool flag;
vector<int>A,B,C;
bool check(vector<int> A,vector<int> B)
{if(A.size()!=B.size()) return A.size()>B.size();for(int i=A.size()-1;i>=0;i--) if(A[i]!=B[i]) return A[i]>B[i];return true;
}
vector<int> sub(vector<int> A,vector<int> B)
{vector<int> C;int t=0;for(int i=0;i<A.size()||i<B.size();i++){t+=A[i];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;
}
int main(void)
{string a,b; cin>>a>>b;for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');if(check(A,B)) C=sub(A,B);else C=sub(B,A),flag=true;if(flag) cout<<"-";for(int i=C.size()-1;i>=0;i--) cout<<C[i];return 0;
}

高精度乘法

#include<cstdio>
#include<iostream>
#include<vector>
using namespace std;
string a;
int b;
vector<int>A,C;
vector<int> f(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;}while(C.size()>1&&C.back()==0) C.pop_back();return C;
}
int main(void)
{cin>>a>>b;for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');C=f(A,b);for(int i=C.size()-1;i>=0;i--) cout<<C[i];return 0;
}

高精度除法

#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
string a;
int b,res;
vector<int>A,C;
vector<int> div(vector<int> A,int b,int &res)
{res=0;vector<int> C;for(int i=A.size()-1;i>=0;i--){res=res*10+A[i];C.push_back(res/b);res=res%b;}reverse(C.begin(),C.end());while(C.size()>1&&C.back()==0) C.pop_back();return C;
}
int main(void)
{cin>>a>>b;for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');C=div(A,b,res);for(int i=C.size()-1;i>=0;i--) cout<<C[i];cout<<endl;cout<<res;return 0;
}

【AC Saber】高精度相关推荐

  1. POJ 1625 Censored! (AC自动机 + 高精度 + DP)

    题目链接:Censored! 解析:AC自动机 + 高精度 + 简单DP. 字符有可能会超过128,用map映射一下即可. 中间的数太大,得上高精度. 用矩阵快速幂会超时,简单的DP就能解决时间的问题 ...

  2. 【AC Saber】数据结构

    目录 单链表 双链表 栈 队列 单调栈 单调队列 KMP 单链表 #include<cstdio> #include<iostream> using namespace std ...

  3. 【AC Saber】离散化

    目录 离散化 离散化 #include<cstdio> #include<iostream> #include<algorithm> #include<map ...

  4. 【AC Saber】二进制

    目录 二进制中1的个数 64位整数乘法 二进制中1的个数 #include<cstdio> #include<iostream> using namespace std; in ...

  5. 【AC Saber】双指针

    目录 最长连续不重复子序列 数组元素的目标和 判断子序列 最长连续不重复子序列 #include<cstdio> #include<iostream> #include< ...

  6. 【AC Saber】二分

    目录 数的范围 数的三次方根 最佳牛围栏 特殊排序 数的范围 #include<cstdio> #include<iostream> #include<algorithm ...

  7. 【AC Saber】归并排序

    目录 归并排序 逆序对的数量 超快速排序 归并排序 #include<cstdio> #include<iostream> #include<algorithm> ...

  8. 24v转5v电源芯片模块,220v转5v隔离芯片模块,220v转5v电源芯片模块,制作220v转5v电源芯片,模块原理图220v转5v变压器芯片,20w220v转5v电源芯片

    220V转5V模块供电IC,220V转5VMCU供电IC,220V转5V,非隔离电源方案,220V转5V小体积应用方案,低成本220V转5V方案,220V转5VMCU模块供电,220v转12v电源模块 ...

  9. GAVH39,PM1132,供电220v转5v芯片,SOT23-3,AC-DC小功率应用方案

    概述 GAVH39,PM1132,供电220v转5v芯片,SOT23-3,AC-DC小功率应用方案, PM1132是一种低成本,非隔离降压和降压型应用的高集成度PWM电源开关. PM1132结合在一个 ...

最新文章

  1. 个人微信公众号已开通,欢迎各位小伙伴关注
  2. 【Runtime Error】打开Matlib7.0运行程序报错的解决办法
  3. Hibernate Session的delete()方法
  4. [转]NLog学习笔记二:深入学习
  5. 将文件中的参数读取成Map
  6. 记一次 .NET游戏站程序的 CPU 爆高分析
  7. 同一个html自动跳转分页,一个页面有多个分页,相互影响
  8. element ui中 el-table根据不同的值设置单元格背景色
  9. win10+ubuntu双系统安装方案
  10. 离散数学:主范式(主析取范式、主合取范式)
  11. 学会这招,从此解决被知乎封号烦恼
  12. oracle 创建会话表,oracle临时会话表在存储过程中的使用
  13. 使用Clang作为编译器 —— Clang 中的Diagnostic flags
  14. 解决Virtualbox安装系统界面显示不全问题
  15. SpringbootApi接口学习笔记
  16. 【Unity3D日常开发】Unity3D中实现计时器工具类-正计时、倒计时、暂停计时、加速计时
  17. 日期格式符RR和YY的区别
  18. ADC 信号调理电路设计——必要措施、实测验证和应用说明
  19. 【大数据面试题】(八)Spark 相关面试题
  20. 支付退款流程设计_如何设计订单系统?不妨看看这篇文章

热门文章

  1. 集成学习-Boosting集成学习算法XGBoost
  2. Python之日志处理(logging模块)
  3. OFDM同步算法之Park算法
  4. BrowserLog——使用Chrome控制台作为Log查看器
  5. SqlServer 导出指定表数据 生成Insert脚本
  6. NEFU 503 矩阵求解 (非01异或的高斯消元)
  7. C语言,获得堆栈增长方向的一种方法
  8. VB查询数据库之写入数据库——机房收费系统总结(三)
  9. SQL Server中查询所有的表、视图、列和存储过程
  10. tessorflow基本语法