首页 > 试题广场 >

进制A+B

[编程题]进制A+B
  • 热度指数:36013 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。

输入描述:
一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。


输出描述:
一行,a+b的十进制结果。
示例1

输入

0x12 05

输出

23

备注:
十六进制Hexadecimal一般以0x开头,例如0xFF。八进制Octal,一般以0开头,例如07。
hexa={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,"A":10,
    "B":11,"C":12,"D":13,"E":14,"F":15}
octa={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8}
num = input().split()
obj = 0
a = num[0][2:]
b = num[1][1:]
for i in range(len(a)):
    obj += hexa[a[i]]*16**(len(a)-1-i)
for j in range(len(b)):
    obj += octa[b[j]]*8**(len(b)-1-j)
print(obj)

发表于 2022-08-22 09:57:35 回复(0)
nums = input().split()
num1 = int(nums[0], 16)
num2 = int(nums[1], 8)
print(num1+num2)

发表于 2022-07-29 16:18:03 回复(0)
ls = input().split()
print(int(ls[0],16)+int(ls[1],8))


发表于 2022-04-08 10:10:21 回复(0)
l = input().split()
print(int(l[0],16) + int(l[1], 8))

发表于 2022-03-25 18:45:47 回复(0)
a, b = input().split()
a = int(a,16)
b = int(b,8)
print(a+b)
发表于 2022-03-19 21:26:56 回复(0)
a, b = map(str,input().split(" "))
print(int(a,16)+int(b,8))

发表于 2022-01-16 11:43:16 回复(0)
a, b = input().split()
print(int(a, 16)+int(b, 8))

发表于 2021-09-15 17:06:46 回复(0)
a,b=input().split()
print(int(a,16)+int(b,8))

发表于 2021-07-14 20:25:45 回复(0)