A + B problem 高精度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A + B problem 高精度相关的知识,希望对你有一定的参考价值。

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string a,b;
    cin>>a>>b;
    int i1 = a.size() - 1;
    int i2 = b.size() - 1;
    string s;
    int carry = 0;
    while (i1 >= 0 || i2 >= 0)
    {
        char ch = carry;
        if (i1 >= 0)
        {
            if (a[i1] < 0 || a[i1] > 9)
                continue;
            ch += a[i1] - 0;
        }
        if (i2 >= 0)
        {
            if (b[i2] < 0 || b[i2] > 9)
                continue;
            ch += b[i2] - 0;
        }
        if (ch >= 10)
        {
            carry = 1;
            ch -= 10;
        }
        else carry = 0;
        s.push_back(ch + 0);
        i1--;
        i2--;
    }
    if (carry) 
    s.push_back(1);
    reverse(s.begin(), s.end());
    return s;
}

 

以上是关于A + B problem 高精度的主要内容,如果未能解决你的问题,请参考以下文章

洛谷 P1932 A+B A-B A*B A/B A%B Problem(高精度板子)

A + B problem 高精度

洛谷 P1601 A+B Problem(高精) 题解

洛谷 P1303 A*B Problem 高精度乘法

P1303 A*B Problem(高精度乘法)

P1601 A+B Problem(高精)