首页 > 试题广场 >

还是A+B

[编程题]还是A+B
  • 热度指数:6380 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。

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


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

输入

1 2 1
11 21 1
108 8 2
36 64 3
0 0 1

输出

3
-1
-1
100
while True:
    try:
        A,B,k=input().strip().split()
        #print(list(A))
        if A!='0' and B!='0':
            if k=='0':
                print(-1)
            else:
                A_index=A[-int(k):]
                B_index=B[-int(k):]
                if int(A_index)!=int(B_index):
                    print(int(A)+int(B))
                else:
                    print(-1)
    except:
        break
发表于 2019-08-03 09:40:46 回复(0)
try:
    while True:
        num = input().split()
        if num[0] == num[1] == '0':
            break
        digitNum = min(int(num[2]),len(num[0]),len(num[1]))
        if num[0][-digitNum:] == num[1][-digitNum] or digitNum == 0:
            print(-1)
        else:
            print(int(num[0])+int(num[1]))
except Exception:
    pass
编辑于 2018-09-24 22:18:31 回复(0)

python solution:

while True:
    try:
        a, b, c = input().split()
        if a!="0" or b!="0":
            if int(a[-int(c):]) == int(b[-int(c):]) or c=="0":
                print(-1)
            else:
                print(int(a)+int(b))
    except:
        break
发表于 2017-10-06 22:03:29 回复(0)
try:
    while 1:
        A, B, K = raw_input().split()
        if A == B == '0':
            break
        K = int(K)
        if K == 0:
            print -1
        elif int(A[-K:]) == int(B[-K:]):
            print -1
        else:
            print int(A) + int(B)
except:
    pass

发表于 2016-12-27 01:17:00 回复(0)

问题信息

难度:
4条回答 8217浏览

热门推荐

通过挑战的用户

查看代码