#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
int a[20],b[200];
char x[20];
cin>>n;
cin>>x;
int t=0;
for(int i=0; i<n; i++)
{
a[i]=x[i]-'0';
if(a[i]==2||a[i]==3||a[i]==5||a[i]==7)
b[t++]=a[i];
else if(a[i]==4)
{
b[t++]=2;
b[t++]=2;
b[t++]=3;
}
else if(a[i]==6)
{
b[t++]=5;
//b[t++]=2;
b[t++]=3;
}
else if(a[i]==8)
{
b[t++]=7;
b[t++]=2;
b[t++]=2;
b[t++]=2;
}
else if(a[i]==9)
{
b[t++]=3;
b[t++]=3;
b[t++]=7;
b[t++]=2;
// b[t++]=2;
//b[t++]=2;
}
}
sort(b,b+t);
for(int i=t-1; i>=0; i--)
{
if(b[i]>1)
cout<<b[i];
}
cout<<endl;
return 0;
}
本文介绍了一个基于阶乘的数学游戏——Draziland Factorial,并提供了算法解决方案。该游戏的目标是在给定条件下找到最大的不含0和1的整数。通过贪心策略和排序技巧,文章详细展示了如何将大阶乘分解为小阶乘,最终得出最优解。
for positive integer
.
.
623

被折叠的 条评论
为什么被折叠?



