求条
  • 板块题目总版
  • 楼主ew3www
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/2/6 14:19
  • 上次更新2025/2/6 16:42:21
查看原帖
求条
1160934
ew3www楼主2025/2/6 14:19

高精加法

#include <bits/stdc++.h>
using namespace std;
int a[1111], b[1111];
int main()
{
    string s1, s2;
    cin >> s1 >> s2;
    for(int i = 0; i < s1.size(); i++) a[i] = s1[s1.size() - i - 1] - '0';
    for(int i = 0; i < s2.size(); i++) b[i] = s2[s2.size() - i - 1] - '0';
    int len;
    if(s1.size() > s2.size())
    {
        len = s1.size();
        for(int i = 0; i < s2.size(); i++)
        {
            a[i] += b[i];
            
        }
        for(int i = 0; i < s1.size(); i++)
        {
            if(a[i] >= 10)
            {
                a[i + 1] += a[i] / 10;
                a[i] %= 10;
                if(i == s1.size() - 1) len++;
            }
        }
        
        for(int i = len-1; i >= 0; i--) cout << a[i];
    }
    else 
    {
        len = s2.size();
        for(int i = 0; i < s1.size(); i++)
        {
            b[i] += a[i];
        }
        for(int i = 0; i < s2.size(); i++)
        {
            if(b[i] >= 10)
            {
                b[i + 1] += b[i] / 10;
                a[i] %= 10;
                if(i == s2.size() - 1) len++;
            }
        }
        
        for(int i = len-1; i >= 0; i--) cout << b[i];
    }
    return 0;
}
2025/2/6 14:19
加载中...