- #include<iostream>
- #include<string>
- using namespace std;
- string a,b;
- void re(){
- //翻转、补零操作
- int max_length=a.length()>b.length()? a.length():b.length();
- string str;
- for(int i=0;i<a.length();i++){
- str+=a[a.length()-1-i];
- }
- a=str;str="";
- for(int i=0;i<b.length();i++){
- str+=b[b.length()-1-i];
- }
- b=str;str="";
- for(int i=a.length();i<max_length;i++){
- a+="0";
- }
- for(int i=b.length();i<max_length;i++){
- b+="0";
- }
- }
- string addtion(){
- int c=0;
- string r;
- for(int i=0;i<a.length();i++ ){
- int x=a[i]-'0';
- int y=b[i]-'0';
- int jieguo=(x+y+c)%10;
- c=(x+y+c)/10;
- r+=(char)(jieguo+'0');
- }
- if(c==0)return r;
- return r+=(char)(c+'0');
- }
- int main(){
- cin>>a>>b;
- re();
- string str=addtion();
- for(int i=0;i<str.length();i++){
- cout<<str[str.length()-1-i];
- }
- return 0;
- }
高精度基础 加法
最新推荐文章于 2023-04-10 21:14:50 发布