【Function】

【题目描述】

定义一个函数f(x)为x的每个位的阶乘之积,比如154=1!*5!*4!

给出一个x(可含前导0) 请求出一个数位中不含0或1的最大的数a,使得f(a)=f(x)

【输入格式】

第一行一个整数n,表示数的长度。

接下来一个长为n的数,表示所给的x

【输出格式】

一个整数,表示最大的a

【样例输入】

4

1234

【样例输出】

33222

【数据范围】

1≤n≤50

显然可以将阶乘给分解掉比如4!=1*2*3*4=1*2*2*2*3相当于是一个3的阶乘和2个2的阶乘相乘。

对于2~9,可以发现阶乘全部可以化成有2 3 5 7的形式,然后依照7 5 3 2的顺序只有要这个数就把组成它的阶乘的数个数全部减掉即可。

下面是代码:

 

stdKonjac

stdKonjac

一只挣扎的蒟蒻ACMer

评论太激烈有些评论需要亲动动手指翻页

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

*