首页 > 试题广场 >

数字反转

[编程题]数字反转
  • 热度指数:9733 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。

输入描述:
每行两个正整数a和b(0<a,b<=10000)。


输出描述:
    如果满足题目的要求输出a+b的值,否则输出NO。
示例1

输入

12 34
99 1

输出

46
NO
try:
    while True:
        num1, num2 = list(map(int, input().split()))
        if int(str(int(str(num1)[::-1])+int(str(num2)[::-1]))[::-1]) == num1+num2:
            print(num1+num2)
        else:
            print("NO")
except Exception:
    pass
编辑于 2018-09-24 00:29:49 回复(0)

while True:
    try:
        a=list(map(int,input().split()))
        if len(a)>1:
            if int(str(a[0]+a[1])[::-1])==int(int(str(a[0])[::-1])+int(str(a[1])[::-1])):
                print(a[0]+a[1])
            else:
                print("NO")
    except:
        break

本来想写个2行解法***的,可读性不高就放弃了。。

发表于 2017-10-01 17:26:15 回复(0)
try:
    while 1:
        for i in xrange(input()):
            a, b = raw_input().split()
            s1 = int(a[::-1]) + int(b[::-1])
            s2 = int(str(int(a) + int(b))[::-1])
            print 'NO' if s1 != s2 else int(a) + int(b)
except:
    pass

发表于 2016-12-26 14:58:50 回复(0)

问题信息

难度:
3条回答 10200浏览

热门推荐

通过挑战的用户

查看代码