Drazil is playing a math game with Varda.
Let's define for positive integer x as a product of factorials of its digits. For example, .
First, they choose a decimal number a consisting of n digits that contains at least one digit larger than 1. This number may possibly start with leading zeroes. Then they should find maximum positive number x satisfying following two conditions:
1. x doesn't contain neither digit 0 nor digit 1.
2. = .
Help friends find such number.
The first line contains an integer n (1 ≤ n ≤ 15) — the number of digits in a.
The second line contains n digits of a. There is at least one digit in a that is larger than 1. Number a may possibly contain leading zeroes.
Output a maximum possible integer satisfying the conditions above. There should be no zeroes and ones in this number decimal representation.
4 1234
33222
3 555
555
In the first case,
题意:看最后一张图就懂了,两个数拆开每一位 求阶乘一样就输出。。输出不能有1,输入可能第一位是0
分析:枚举0到9可以替换成什么呗。。。
#include <bits/stdc++.h>
using namespace std;
string arr[]={"","","2","3","322","5","53","7","7222","7332"};
int main()
{
long long n,t;
cin>>t;
cin>>n;
string s="";
while(n>0)
{
s+=arr[n%10];
n/=10;
}
sort(s.rbegin(),s.rend());
cout<<s;
}