CF991F Concise and clear
题目描述
Vasya 是一名经常参加编程竞赛的选手,他已经很擅长在冗长的题目描述中找到关键信息。当然,数字的约束条件也很重要——分解一个小于 $1000000$ 的数要比分解一个小于 $1000000000$ 的数容易得多。然而,有时候一眼看去很难理解这个数字。能不能把它写得更简洁一些呢?例如,可以用 $10^{6}$ 代替 $1000000$,用 $10^{9}$ 代替 $1000000000$,用 $10^{9}+7$ 代替 $1000000007$。
Vasya 认为,为了简洁,表示方法应遵循以下规则:
- 表达式只能由数字、加法(“+”)、乘法(“*”)和乘方(“^”)运算组成,特别地,禁止使用括号;
- 禁止连续使用多个乘方运算,例如,“2^3^4”是不允许的;
- 表达式的值必须等于原始数字;
- 表达式的符号数应尽可能少。
给定 $n$,请为它找到等价的最简洁表示。
输入格式
输入仅一行,包含一个整数 $n$($1 \leq n \leq 10\,000\,000\,000$)。
输出格式
输出数字 $n$ 的一种简洁表示。如果有多种最简洁表示,输出其中任意一种即可。
说明/提示
第三个样例允许输出 $10^{10}$,其长度也是 $5$。
由 ChatGPT 4.1 翻译