单独的一行,包含两个整数,表示可能的最小结果和最大结果。

题目描述
小明的爸爸给了出了一个问题。爸爸给他两个整数,然后问它们加起来是多少?

小明的计算不会出错,但是有时他会把数抄错,但是他只会把 5 抄成 6,或者把 6 抄成 5。

现在给出两个数A,B ,计算小明可能得出的最大结果和最小结果。

输入格式
第一行包含两个正整数A,B ,其中 1

输出格式
单独的一行,包含两个整数,表示可能的最小结果和最大结果。

样例
样例输入
11 25
样例输出
36 37
样例解释
可能的最小结果是小明没有抄错数,因此计算得 11+25=36。

可能的最大结果是小明把 25 抄成了 26,因此计算得 11+26=37。

先判断是否出现5或者6,然后分别计算所有6都是5的情况,再计算所有5都是6的情况

#include <iostream>
using namespace std;
void getminmax(int a,int *min,int *max)
{
    int bs = 1;
    int d = a;
    int r = 0;
    *min = 0;
    *max = 0;
    while(d>0)
    {
        r = d%10;
        if(r==5 || r==6)
        {
            *min += 5*bs;
            *max += 6*bs;
        }
        else
        {
            *min += r*bs;
            *max += r*bs;
        }
        bs*=10;
        d = d/10;
    }
}

int main()
{
    int a,b,min1,min2,max1,max2;
    cin>>a>>b;
    getminmax(a,&min1,&max1);
    getminmax(b,&min2,&max2);
    cout<<min1+min2<<" "<<max1+max2;
    return 0;
}