大数相减C++实现
发布时间:2020-12-14 02:41:14 所属栏目:大数据 来源:网络整理
导读:#includeiostream#includevectorusing namespace std;int main(){ string s1,s2; cins1s2; int len1=s1.size(); int len2=s2.size(); int bit=0; int k=0; vectorintvi; int t=0; int i=0,j=0; for( i=len1-1,j=len2-1;i=0j=0;i--,j--) { t=s1[i]-'0'-(s2[j]
#include<iostream> #include<vector> using namespace std; int main() { string s1,s2; cin>>s1>>s2; int len1=s1.size(); int len2=s2.size(); int bit=0; int k=0; vector<int>vi; int t=0; int i=0,j=0; for( i=len1-1,j=len2-1;i>=0&&j>=0;i--,j--) { t=s1[i]-'0'-(s2[j]-'0')-bit; if(t<0) { bit=1; vi.push_back(t+10); } else { bit=0; vi.push_back(t); } } while(i>=0) { t=s1[i]-'0'-bit; if(t<0) { bit=1; vi.push_back(t+10); } else { bit=0; vi.push_back(t); } i--; } while(j>=0) { t=10-bit-(s2[j]-'0'); vi.push_back(t); j--; } if(bit==1) { vi[0]=10-vi[0]; for(int k=1;k<vi.size();k++) { vi[k]=10-vi[k]-bit; } } if(bit==1) cout<<"-"; for(int c=vi.size()-1;c>=0;c--) { cout<<vi[c]; } cout<<endl; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |