AT_pakencamp_2018_day3_h 整数をつくろう!

题目描述

给定一个正整数 $N$,你需要用字符 `012345+-*/` 构造一个不超过 $50000$ 个字符的表达式,使这个表达式的结果正好是 $N$。注意,不能使用 `6789%^()` 字符。另外,不允许将数字拼接成两位或以上的数,也不允许以负号开头或将负号作为单目运算符使用。 例如,以下表达式是被禁止的:`8-2*(4*2)`,`55+42`,`-4+2*4`,`5*5+3*-2`。此外,由于判断系统的限制,如果表达式中的任意一项计算结果达到或超过 $10^{800}$,也被视作不正确。计算时,优先进行乘法和除法,同级运算从左到右;尤其是除法操作要向下取整(参见样例 3)。

输入格式

输入一个整数 $N$。

输出格式

输出你构造的表达式。 ## 子任务 子任务 1 [5 分]:满足 $n < 10000$。 子任务 2 [10 分]:满足 $n < 10^{18}$。 子任务 3 [无特定上限]:$n$ 是一个 150 位随机大整数。共有 10 个测试用例,你在所有这些用例中的最低得分将作为最后得分。每个得分为你构造的表达式长度 $L$ 所得的值:$3777.4826/\sqrt{L}$。

说明/提示

$1 \leq N \leq 10^{150}$ ### 样例解释 1 表达式 `5+2` 计算结果为 7,是正确的解法。其他正确解法包括 `3+4`、`2*3+1` 或 `3*5/2`。 ### 样例解释 3 对于这个问题,表达式 `5*5/4` 先进行乘法与除法,结果舍去小数部分得到 6,再乘以 4,最终得到结果 24。 **本翻译由 AI 自动生成**