高精度模板(减法)
来源:互联网 发布:通达信手机炒股软件 编辑:程序博客网 时间:2024/05/21 23:34
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=10010;
char a[maxn],b[maxn],c[maxn];
int x[maxn],y[maxn],z[maxn],t[maxn];
int main(){
scanf("%s%s",a,b);
int l1=strlen(a),l2=strlen(b);
//cout<<l1<<' '<<l2<<endl;
for(int i=0;i<l1;i++) x[l1-i]=a[i]-'0';
for(int i=0;i<l2;i++) y[l2-i]=b[i]-'0';
int f=true;
if(l1<l2) f=false;
else if(l1>l2) f=true;
else{
for(int i=l1;i>=1;i--){
if(x[i]>y[i]) break;
if(x[i]<y[i]){
f=false; break;
}
}
}
int l3=0;
if(f) l3=l1;
else{
cout<<'-'; l3=l2;
int l4=l2; l2=l1;
for(int i=1;i<=l1;i++)
t[i]=x[i];
for(int i=1;i<=l4;i++)
x[i]=y[i];
for(int i=1;i<=l1;i++)
y[i]=t[i];
for(int i=l1+1;i<=l4;i++)
y[i]=0;
l1=l4;
}
//cout<<l1<<' '<<l2<<endl;
//cout<<l3<<endl;
for(int i=1;i<=l3;i++){
z[i]+=x[i]-y[i];
if(z[i]<0){
z[i+1]--;
z[i]+=10;
}
}
//cout<<l3<<endl;
while(l3>1&&z[l3]==0) --l3;
//cout<<l3<<endl;
for(int i=l3;i>=1;i--) cout<<z[i];
cout<<endl;
return 0;
}
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=10010;
char a[maxn],b[maxn],c[maxn];
int x[maxn],y[maxn],z[maxn],t[maxn];
int main(){
scanf("%s%s",a,b);
int l1=strlen(a),l2=strlen(b);
//cout<<l1<<' '<<l2<<endl;
for(int i=0;i<l1;i++) x[l1-i]=a[i]-'0';
for(int i=0;i<l2;i++) y[l2-i]=b[i]-'0';
int f=true;
if(l1<l2) f=false;
else if(l1>l2) f=true;
else{
for(int i=l1;i>=1;i--){
if(x[i]>y[i]) break;
if(x[i]<y[i]){
f=false; break;
}
}
}
int l3=0;
if(f) l3=l1;
else{
cout<<'-'; l3=l2;
int l4=l2; l2=l1;
for(int i=1;i<=l1;i++)
t[i]=x[i];
for(int i=1;i<=l4;i++)
x[i]=y[i];
for(int i=1;i<=l1;i++)
y[i]=t[i];
for(int i=l1+1;i<=l4;i++)
y[i]=0;
l1=l4;
}
//cout<<l1<<' '<<l2<<endl;
//cout<<l3<<endl;
for(int i=1;i<=l3;i++){
z[i]+=x[i]-y[i];
if(z[i]<0){
z[i+1]--;
z[i]+=10;
}
}
//cout<<l3<<endl;
while(l3>1&&z[l3]==0) --l3;
//cout<<l3<<endl;
for(int i=l3;i>=1;i--) cout<<z[i];
cout<<endl;
return 0;
}
阅读全文
1 0
- 高精度模板(减法)
- 高精度减法模板
- 高精度之减法模板
- 高精度减法模板
- 高精度(大整数减法)
- 大数减法 (高精度运算)
- (C语言)高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- 高精度减法
- Deeplearning4j 实战(6):基于LSTM的文本情感识别及其Spark实现
- 菱形继承
- Python2.7的安装教程
- Fragment的隐藏于显示
- linux服务器下基于caffe的flownet搭建
- 高精度模板(减法)
- HTML小网页案例
- Confluence知识库启动报错
- 在不同的情况运行Python
- 最短单源路径算法——SPFA
- 一张思维导图,让正则表达式不再难懂
- retorfit与Rxjava的权限
- LeetCode 617. Merge Two Binary Trees
- zabbix监控日志文件