首页 > 试题广场 >

外星人的语言

[编程题]外星人的语言
  • 热度指数:3833 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
nowcoder费了很大劲,终于和地外文明联系上。我们地球人通常有10根手指,因此我们习惯用10进制的数,而外星人的手指有16跟、8根等不等的数目,因此他们使用与我们不同的进制。为了方便沟通,需要你开发一款工具,把地球人的10进制转换成外星人的R进制形式。

输入描述:
输入有多行。
每行包括两个正整数n和R,其中2≤R≤16。
输入直到文件结束为止。


输出描述:
对于每个用例,输出n对应的R进制形式。
超过10进制的数,10用A表示、11用B表示,依次类推。
示例1

输入

1989 2<br/>1119 16

输出

11111000101<br/>45F

python solution:

import sys

#这个函数的作用是将一个十进制数转为N进制的数。
def baseN(num, b):
    return ((num == 0) and "0") or (baseN(num // b, b).lstrip("0") + "0123456789ABCDEFGHIGKLMNOPQRSTUVWXYZ"[num % b])


for i in sys.stdin.readlines():
    num, b = map(int, i.split())
    print(baseN(num, b))
发表于 2017-11-17 10:17:17 回复(0)