#P1143. 进制转换

进制转换

P1143 进制转换

题目背景

本题围绕“进制转换”所描述的场景展开。请编写程序,把一个给定进制的正整数转换为另一个进制表示。

下面的题面采用非逐字重述方式整理,但保留原题中的全部判定条件、边界含义、输入输出要求与特殊约定。

题目描述

请编写程序,把一个给定进制的正整数转换为另一个进制表示。

进制范围均为 2162\sim16。数码 090\sim9 使用数字字符表示,数码 101510\sim15 依次使用大写字母 AF 表示。

完整规则与任务要求

处理本题时,必须同时满足下列全部要求,不能只实现其中一部分:

  • 请编写程序,把一个给定进制的正整数转换为另一个进制表示。
  • 进制范围均为 2162\sim16
  • 数码 090\sim9 使用数字字符表示,数码 101510\sim15 依次使用大写字母 AF 表示。
  • 原数的数码可能包含大写字母,输出进制大于十时也必须使用大写字母。
  • 转换结果不得输出无意义的前导零;数值为零时应输出单个 0

程序应完整读取“输入格式”中规定的所有数据,并严格按照“输出格式”给出结果。题目中的区间端点、编号起点、排序优先级、同分处理、空结构处理、取模方式和特殊字符串,均以本题面明确写出的规则为准。

所有算法还必须覆盖“数据范围”中的最小规模、最大规模及边界情况,不能只针对样例或小数据。

输入格式

共三行:

  1. 第一行输入原进制 nn,其中 2n162\le n\le16
  2. 第二行输入一个合法的 nn 进制正整数;
  3. 第三行输入目标进制 mm,其中 2m162\le m\le16

保证输入数字转换成十进制后的值不超过 10910^9

输出格式

输出该数在 mm 进制下的表示,字母数码使用大写形式。

样例

16
FF
2
11111111

样例说明

样例输入按照上述规则处理。请编写程序,把一个给定进制的正整数转换为另一个进制表示。最终得到题面所列的样例输出。样例只用于说明规则与格式,程序仍需覆盖全部数据范围。

数据范围

  • 2n,m162\le n,m\le16
  • 输入数字合法;
  • 输入数字的十进制值不超过 10910^9

题目信息来源:洛谷 P1143。

边界与子任务说明

  • 测试数据可能覆盖题面允许的最小值、最大值、重复值、空结果、无解或极端结构等边界情形。
  • 若原题未额外列出分档子任务,则所有测试点统一遵守上述完整数据范围;若题面已经列出比例或分档条件,则这些条件均应视为题面的一部分。
  • 不能根据公开样例推断未写出的额外限制。

本题面依据洛谷 P1143 的公开题目信息重新整理,为内容完整的非逐字重述版。