1089.数字翻转

Posted bernieloveslife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1089.数字翻转相关的知识,希望对你有一定的参考价值。

题目描述:

    12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。

输入:

    第一行一个正整数表示测试数据的个数n。
    只有n行,每行两个正整数a和b(0<a,b<=10000)。

输出:

    如果满足题目的要求输出a+b的值,否则输出NO。

样例输入:
2
12 34
99 1
样例输出:
46
NO

 

#include<iostream>
#include<cmath>
using namespace std;

int change(int x){
    int a[100];
    int i=0;
    do{
        a[i]=x%10;
        i++;
        x=x/10;
    }while(x!=0);
    for(int j=0;j<i;j++){
        x+=a[j]*pow(10,i-j-1);
    }
    return x;
}

int main(){
    int n,a,b,sum;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a>>b;
        if((change(a)+change(b))==change(a+b)) cout<<a+b<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}

 


以上是关于1089.数字翻转的主要内容,如果未能解决你的问题,请参考以下文章

ZZNUOJ_C语言1089:阶乘的最高位(完整代码)

每日一九度之 题目1089:数字反转

翻转数组

《剑指Offer——57.和为s的两个数字,58.翻转单词顺序》代码

翻转数组

华为OD机试真题Python实现翻转单词顺序真题+解题思路+代码(2022&2023)