Codeforces Round #292 (Div. 2) C. Drazil and Factorial 515C
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
1. x doesn‘t contain neither digit 0 nor digit 1.
2. = .
Help friends find such number.
InputThe first line contains an integer n
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.
OutputOutput a maximum possible integer satisfying the conditions above. There should be no zeroes and ones in this number decimal representation.
4output Copy
1234
33222input Copy
3output Copy
555
555Note
In the first case,
題意 給出數x,得出x各位數階乘的乘積;求得出的各位數乘積和與x得出的各位數階乘的乘積相等的最大數
先打表ch[i] F[i]=F[p]最大值p,排序,反轉
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int main(){ int n; scanf("%d",&n); string str; cin>>str; string str1 = ""; string ch[10]={"","","2","3","223","5","53","7","7222","7332"}; for(int i = 0; i < n; i++){ str1 += ch[str[i]-‘0‘]; } sort(str1.begin(),str1.end()); reverse(str1.begin(),str1.end()); cout<<str1<<endl; return 0; }
Codeforces Round #292 (Div. 2) C. Drazil and Factorial 515C