高精度+高精度加法

#include <bits/stdc++.h>
using namespace std;
vector<int> z(vector<int> v,vector<int> n){
    int m;
    m=max(v.size(),n.size());
	vector<int> s(m+2,0);
    int sum=0;
    for(int i=0;i<m;i++){
    	if(i>=v.size()){
    		v.push_back(0);
		}
		if(i>=n.size()){
			n.push_back(0);
		}
    	s[i]=v[i]+n[i];
	}
	for(int i=0;i<m||sum;i++){
		sum+=s[i];
		s[i]=sum%10;
		sum=sum/10;
	}
    while(s.size()>1&&s.back()==0){
        s.pop_back();
    }
    for(int k=s.size()-1;k>=0;k--){
        cout<<s[k];
    }
  return s; } int main(){ string a,b; int sum=0; cin>>a>>b; vector<int> c,d,s; for(int i=a.size()-1;i>=0;i--){ c.push_back(a[i]-'0'); } for(int i=b.size()-1;i>=0;i--){ d.push_back(b[i]-'0'); } z(c,d); return 0; }

  

posted @ 2024-05-25 14:55  fushuxuan1  阅读(9)  评论(0)    收藏  举报