2021年ECNU计科考研复试机试

2021年ECNU计科考研复试机试

本次机试共4题,不直接将分数计入成绩,仅在面试时用于参考。

前3题为中文题面,第4题英文题面。


A. 平衡三进制 II

平衡三进制系统以\( 3 \)为基数,但其数码不是使用数字\(0 \)、\(1 \)和\( 2\),而是用数字\(-1 \)、\(0 \)和\(1 \)来表示一个数码。

下表给出平衡三进制数对应的十进制数,其中我们以\( 2\) 表示\( -1\) 。

平衡三进制十进制
\( 102 \)\(8 \)
\( 1120.00 \)\( 32 \frac{5}{9}\)
\( 2210.11\)\( -32 \frac{5}{9} \)

例如 \( 32 \frac{5}{9} = 1\times 3^3 + 1 \times 3^2 + (-1) \times 3^1 + (-1) \times 3^{-1} + (-1) \times 3^{-2} \)

一个十进制数转换为平衡三进制数的一种方法为:

  1. 先将该十进制数表示成普通的三进制数
    • 例如 \( 32 \frac{5}{9} = (1012.12)_3 \)
  2. 将得到的三数与全1序列按三进制记数系统的规则相加
    • 例如 \( 1012.12 + 1111.11 = 2201.00 \)
  3. 将第2步得到的序列与全1序列按位独立相减
    • \( 2201.00 – 1111.11 = 1,1,-1,0.-1,-1 \),其中将\(-1\)用\(2\)表示则为\(1120.22 \)

输入一个十进制数,请将其转换为对应的平衡三进制数

输入格式

在一行中输入两个十进制整数A,B,用一个空格分隔,这表示十进制数\( \frac{A}{B} \),本题数据保证 \( B\)是3的自然数次幂,即 \( B = 3^k ,k \in \mathbb{N} \)

数据量限制:

  • 对于\( 20\% \)的数据,\( 0 \leq A,B \leq 30 \)
  • 对于\( 50\% \)的数据,\( -30 \leq A \leq 30, 0 \leq B \leq 30 \)
  • 对于\( 70\% \)的数据,\( 0 \leq A,B \leq 10^9 \)
  • 对于\( 100\% \)的数据,\( 10^{-9} \leq A \leq 10^9, 0 \leq B \leq 10^9 \)

输出格式

在一行中输出对应的平衡三进制数,用2表示-1。三进制数应该取最简形式,即整数部分无前导0,小数点之后末尾没有多余的后缀0:

  • 01000 应输出 1000
  • 0.111100 应输出 0.1111

测试样例

组数InputOutput
Sample 18 1102
Sample 2293 91120.22
Sample 3-293 92210.11

9 thoughts on “2021年ECNU计科考研复试机试

    1. 只要选择适当的算法(大概10^9的数据量的话设计O(NlogN)的算法,10^5的数据量用O(N^2)算法)一般都可以。
      具体时间的话,第1题时限1秒512MB,第2题1秒256MB,第3题3秒2GB,第4题2秒512MB。

    1. 以往线下复试的时候都计入复试成绩的。可能是因为线上复试的监考难免有漏洞所以暂时不计入成绩。

    1. 机试是同一套题。复试流程文字上写着的是一样的,不过学硕专硕是分开进行的,老师可能会问的侧重点可能不一样(当然,本来复试的时候老师聊的内容就是因人而异,都不相同)

发表评论

电子邮件地址不会被公开。 必填项已用*标注