题解 | #数字反转#

数字反转

http://www.nowcoder.com/practice/2687c5c174cb4f938bdae01f0a19490c

不讲武德法

/*
描述
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。
输入描述:
每行两个正整数a和b(0<a,b<=10000)。
输出描述:
如果满足题目的要求输出a+b的值,否则输出NO。
*/

#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

int main() {
    string numA, numB,invA,invB,sumAB;
    int reverse_sum = 0, sum_reverse = 0, num_sum;
    while (cin >> numA >> numB) {
        invA = numA;
        invB = numB;
        reverse(invA.begin(),invA.end());
        reverse(invB.begin(), invB.end());
        reverse_sum = atoi(invA.c_str()) + atoi(invB.c_str());
        num_sum = atoi(numA.c_str()) + atoi(numB.c_str());
        sumAB = to_string(num_sum);
        reverse(sumAB.begin(), sumAB.end());
        sum_reverse = atoi(sumAB.c_str());
        if (sum_reverse==reverse_sum) {
            cout << num_sum << endl;
        }
        else
            cout << "NO" << endl;

    }
    return 0;
}
全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务