还是A+B(题解)

版权声明:华天才原创 https://blog.csdn.net/weixin_43891469/article/details/85929366

题目描述

读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K位数字相同,请直接输出-1。

输入

每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。

输出

对每个测试用例输出1行,即A+B的值或者是-1。

标程

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,k,x,y,sum,j,flag;
    while(cin>>a>>b>>k)
    {
        if(a==0&&b==0)break;
        flag=1;
        j=0;
        sum=a+b;
        while(a!=0&&b!=0)
        {
            j++;
            x=a%10;
            y=b%10;
            a/=10;
            b/=10;
            if(x==y&&j==k)
            {
                flag=0;
                break;
            }
        }
        if(flag==0)cout<<-1<<endl;
        else if(flag==1)cout<<sum<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43891469/article/details/85929366
A+B