C++高精度算法之高精度减法
来源:互联网 发布:夜间灯光数据 编辑:程序博客网 时间:2024/06/07 13:27
高精度减法
题目描述
高精度减法
输入
两个整数a,b(第二个可能比第一个大)
输出
结果(是负数要输出负号)
样例输入
21
样例输出
1
说明
20%数据a,b在long long范围内
100%数据0<a,b<=10^10000
题目解析
样例解析:
2
-1
1
实现代码
代码如下:
#include<iostream>#include<string>using namespace std;int main(){ string sd,se,sa; int a[100001]{0},b[100001]{0},c[100001]{0},mc,me,mz,n,mo=0; cin>>sd>>se; mc=sd.size(); me=se.size(); if(mc<me||mc==me&&sd<se){sa=sd;sd=se;se=sa;n=mc;mc=me;me=n;mo=-1;} for(int i=1;i<=mc;i++) a[i]=sd[mc-i]-'0'; for(int i=1;i<=me;i++) b[i]=se[me-i]-'0'; int i=1,o=0; while(i<=mc||i<=me) { if(a[i]<b[i]){a[i+1]--;a[i]+=10;} c[i]=a[i]-b[i]; i++; } mz=i;while(c[mz]==0&&mz>1)mz--; if(mo==-1) cout<<"-"; for(int i=mz;i>=1;i--) cout<<c[i]; return 0;}
感想总结
面对高精度类型的题我们只需要像竖式一样从低位到高位计算,最后进行处理。
阅读全文
1 0
- C++高精度算法之高精度减法
- 高精度减法算法
- 高精度加,减法算法
- C语言 高精度减法
- C-高精度减法
- 高精度练习之减法
- 高精度之减法运算
- 高精度之减法模板
- 高精度练习之减法
- C++: 高精度加法与高精度减法
- 高精度-codevs-3115高精度练习之减法
- (C语言)高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- HTML5总结(一)
- Shrio登陆验证实例详细解读
- kafka的性能测试
- Mybatis 加载 Mapper配置的四种方式
- javaSwing_4Swing的类库
- C++高精度算法之高精度减法
- 正向代理与反向代理的区别
- 初学者的Selenium自动化测试指南,基于Python(一)——元素定位
- sshd控制访问者ip
- EF操作-修改部分字段
- GIT使用说明
- TensorFlow之Variable 使用方法
- Unix/Linux编程实践教程–head在OS X的实现
- 重新认识HTML系列001——html根元素详解