#include<vector> #include <iostream> using namespace std; vector<int> add(vector<int>&A,vector<int>&B){ vector<int> C; if(A.size()<B.size()){ return add(B,A); } int t = 0; for(int i = 0;i<A.size();i++){ t+=A[i]; if(i<B.size()){ t+=B[i]; } C.push_back(t%10); t/=10; } if(t){ C.push_back(t); } return C; } int main() { vector<int>a,b; string s1,s2; cin>>s1>>s2; for(int i = s1.length()-1;i>=0;i--){ a.push_back(s1[i]-'0'); } for(int i = s2.length()-1;i>=0;i--){ b.push_back(s2[i]-'0'); } vector<int> c = add(a, b); for(int i = c.size()-1;i>=0;i--){ cout<<c[i]; } return 0; } // 64 位输出请用 printf("%lld")
题目已经明确给出是高精度,使用python最简单,C++模拟一下即可。