SPOJ#TAP2014B. 奶龙vs遐蝶vs刘伟
奶龙vs遐蝶vs刘伟
题目描述
历史上,已经发展出许多种计数系统。其中,有些系统如罗马数字,由于不够方便,几乎已被淘汰。而其他更独特的系统,如用于排列编号的阶乘数,仅在特定领域中应用。今天,我们要探讨一种叫做「平衡三进制」的计数系统,这种系统常自然出现于分析平衡秤相关的数学问题中。
平衡三进制与我们熟悉的十进制或其他进制系统相似,因为它都属于「位置计数法」。位置计数法中,数字的位置决定了其对应基数的幂。例如,在十进制中,数字 123 可表示为:
123 = 1 × 10 + 2 × 10 + 3 × 10 。
在标准位置计数系统中,允许的数字范围是从 0 到 B-1,这里的 B 是系统的基数。因此,十进制的 123 在标准三进制中可以写为 "11120",因为
1 × 3 + 1 × 3 + 1 × 3 + 2 × 3 + 0 × 3 = 123。
平衡三进制与标准三进制的区别在于,平衡三进制系统允许的数字是 0、1 和 -1,我们分别用 '0'、'+' 和 '-' 表示。所以,十进制的 123 用平衡三进制表示则为 "+----0",其计算过程为:
1 × 3 + (-1) × 3 + (-1) × 3 + (-1) × 3 + (-1) × 3 + 0 × 3 = 123。
从十进制转换到平衡三进制虽然过程比较机械且繁琐,但相对简单。因此,我们需要编写一个程序来帮我们做这个转换。你能完成这个任务吗?
输入格式
第一行包含一个整数 T,表示测试用例的个数(1 ≤ T ≤ 100)。接下来是 T 个测试用例。
每个测试用例由一行组成,包含一个正整数 N,代表我们要转换成平衡三进制的十进制数(1 ≤ N ≤ 1000)。
输出格式
对每个测试用例,输出一行,由字符 '0'、'+' 和 '-' 组成的字符串,不以 '0' 开头,表示数字 N 在平衡三进制下的唯一表示。
本翻译由 AI 自动生成
2
123
729
+----0
+000000
其实只有一组数据喵喵喵
京公网安备 11011102002149号