酷代码 AI
菜单

题目描述 N N 进制数指的是逢 N N 进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五;本题中,十一进制到十五进制也是类似的)。 在本题中,我们将给出 个不同进制的数。你需要分别把它们转换成十进制数。 输入格式 输入的第一行为一个十进制表示的整数 N N。接下来 N N 行,每行一个整数 K K,随后是一个空格,紧接着是一个 K K 进制数,表示需要转换的数。保证所有 K K 进制数均由数字和大写字母组成,且不以 0 0 开头。保证 K K 进制数合法。 保证 N ≤ 1000 N≤1000;保证 2 ≤ K ≤ 16 2≤K≤16。 保证所有 K K 进制数的位数不超过 9 9。 输出格式 输出 N N 行,每一个十进制数,表示对应 K K 进制数的十进制数值。

以下是使用 Python 实现将不同进制数转换为十进制数的代码: ```python # 读取输入的行数 N N = int(input()) # 循环处理每一行输入 for _ in range(N): # 读取当前行,按空格分割得到进制 K 和 K 进制数 K, num = input().split() K = int(K) # 使用 Python 内置函数 int() 将 K 进制数转换为十进制数 decimal_num = int(num, K) # 输出转换后的十进制数 print(decimal_num) ``` 代码解释 1. 读取输入的行数 `N`:使用 `int(input())` 读取第一行输入,并将其转换为整数。 2. 循环处理每一行输入:使用 `for` 循环 `N` 次,每次读取一行输入。 3. 分割输入:使用 `split()` 方法按空格分割当前行,得到进制 `K` 和 `K` 进制数 `num`。 4. 转换进制:使用 Python 内置函数 `int(num, K)` 将 `K` 进制数 `num` 转换为十进制数。 5. 输出结果:使用 `print()` 函数输出转换后的十进制数。 复杂度分析 - 时间复杂度:$O(N)$,其中 $N$ 是输入的行数。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2026-01-02 19:45:07 | AI问答 | 336点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多