思路: 拆解数字
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int a[100005];
int main()
{
int t;
cin>>t;
long long n;
cin>>n;
int cnt=0;
while(n)
{
int tmp=n%10;
if(tmp==2)
a[++cnt]=2;
if(tmp==3)
a[++cnt]=3;
if(tmp==4)
a[++cnt]=2,a[++cnt]=2,a[++cnt]=3;
if(tmp==5)
a[++cnt]=5;
if(tmp==6)
a[++cnt]=3,a[++cnt]=5;
if(tmp==7)
a[++cnt]=7;
if(tmp==8)
a[++cnt]=2,a[++cnt]=2,a[++cnt]=2,a[++cnt]=7;
if(tmp==9)
a[++cnt]=2,a[++cnt]=3,a[++cnt]=3,a[++cnt]=7;
n/=10;
}
sort(a+1,a+1+cnt);
for(int i=cnt;i>=1;i--)
cout<<a[i];
return 0;
}