大数计算_减法
发布时间:2020-12-14 04:11:26 所属栏目:大数据 来源:网络整理
导读:/*limit:ab0*/#includeiostream#includestringusing namespace std;string sub(string a,string b){int len_a=a.size(),len_b=b.size();string c;int len_c=0;bool flag=false;while(len_b0){if(flag)a[len_a]=a[--len_a]-1;else len_a--;char temp=a[len_a]
/*limit:a>b>0*/ #include<iostream> #include<string> using namespace std; string sub(string a,string b) { int len_a=a.size(),len_b=b.size(); string c; int len_c=0; bool flag=false; while(len_b>0){ if(flag)a[len_a]=a[--len_a]-1; else len_a--; char temp=a[len_a]-b[--len_b]; if(temp<0){temp+=58;flag=true;} else {temp+=48;flag=false;} c+=temp; len_c++; } while(len_a>0){ if(flag)a[len_a]=a[--len_a]-1; else len_a--; if(a[len_a]<48){a[len_a]+=10;flag=true;} else flag=false; c+=a[len_a]; len_c++; } while(len_c>1&&c[len_c-1]==48)len_c--; string sum; for(int i=--len_c;i>=0;i--) sum+=c[i]; return sum; } void main() { string a,b; while(cin>>a>>b) cout<<sub(a,b)<<endl; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |