SPOJ#TAP2014B. 奶龙vs遐蝶vs刘伟

奶龙vs遐蝶vs刘伟

题目描述

历史上,已经发展出许多种计数系统。其中,有些系统如罗马数字,由于不够方便,几乎已被淘汰。而其他更独特的系统,如用于排列编号的阶乘数,仅在特定领域中应用。今天,我们要探讨一种叫做「平衡三进制」的计数系统,这种系统常自然出现于分析平衡秤相关的数学问题中。

平衡三进制与我们熟悉的十进制或其他进制系统相似,因为它都属于「位置计数法」。位置计数法中,数字的位置决定了其对应基数的幂。例如,在十进制中,数字 123 可表示为:

123 = 1 × 10 2 ^{2} + 2 × 10 1 ^{1} + 3 × 10 0 ^{0}

在标准位置计数系统中,允许的数字范围是从 0 到 B-1,这里的 B 是系统的基数。因此,十进制的 123 在标准三进制中可以写为 "11120",因为

1 × 3 4 ^{4} + 1 × 3 3 ^{3} + 1 × 3 2 ^{2} + 2 × 3 1 ^{1} + 0 × 3 0 ^{0} = 123。

平衡三进制与标准三进制的区别在于,平衡三进制系统允许的数字是 0、1-1,我们分别用 '0''+''-' 表示。所以,十进制的 123 用平衡三进制表示则为 "+----0",其计算过程为:

1 × 3 5 ^{5} + (-1) × 3 4 ^{4} + (-1) × 3 3 ^{3} + (-1) × 3 2 ^{2} + (-1) × 3 1 ^{1} + 0 × 3 0 ^{0} = 123。

从十进制转换到平衡三进制虽然过程比较机械且繁琐,但相对简单。因此,我们需要编写一个程序来帮我们做这个转换。你能完成这个任务吗?

输入格式

第一行包含一个整数 T,表示测试用例的个数(1 ≤ T ≤ 100)。接下来是 T 个测试用例。

每个测试用例由一行组成,包含一个正整数 N,代表我们要转换成平衡三进制的十进制数(1 ≤ N ≤ 1000)。

输出格式

对每个测试用例,输出一行,由字符 '0''+''-' 组成的字符串,不以 '0' 开头,表示数字 N 在平衡三进制下的唯一表示。

本翻译由 AI 自动生成

2
123
729
+----0
+000000

其实只有一组数据喵喵喵