十进制转三进制

1,210 阅读1分钟

### 任务描述

背景

  众所周知,现代计算机普遍以二进制为基础,但历史上也出现过基于其它进制的计算机,例如前苏联的三进制计算机Сетунь。   有人认为,计算机采用三进制比采用二进制更好。例如,二进制包含 0 和 1 两种状态,在逻辑上可以表示“真”和“假”两种情况;而三进制包含三种状态,可以表示“真”“假”和“未知”三种情况,这更符合人类的思维习惯。
不管怎样,现代计算机采用的是二进制,这一选择在短期内不会改变。而在未来新型计算机中,是否会根据需要采用其它进制,目前还不好定论。

任务

  三进制中包含的数字符号是 0、1、2,如 (1202)3​=(47)10​。
要将一个十进制正整数转换成三进制,可以采用“除三取余”方法,如下图所示:

图1

  本关任务是利用除三取余方法实现十进制到三进制的转换。

相关知识

  略。

编程要求

  在 Begin-End 区间实现DecToTer_int(d)函数,其功能是计算十进制整数 d 对应的三进制表示,说明如下:
1)d 可能为正数、0 和负数;
2)不准使用 Python 提供的进制转换函数;
3)本关程序与“数值信息——除二取余”第 3 关或第 7 关基本一样,但建议你先试着自己完成。

测试说明

  例如,测试集 1 的输入为:

47  

  测试集 1 的输出为:

47 -> 1202  

print('%s -> %s' % (d, t))