题意:给定一个整数N,找出最小的正整数Q,使得Q的各位数的积等于N。
题解:从9到2的顺序分解n的因子,如果最终n不是1,那么无解,否则则将存储的因子由小到大输出就是最小的整数
#include<iostream>
using namespace std;
int a[100];
int main(){
int i,j,k,m,n;
cin>>n;
if(n==0){
cout<<10<<endl;
return 0;
}
if(n<10){
cout<<n<<endl;
return 0;
}
j=0;
for(i=9;i>=2&&n!=1;i--)
while(n%i==0&&n!=1)
{
a[++j]=i;
n/=i;
}
if(n!=1)cout<<"-1"<<endl;
else{
for(i=j;i>=1;i--)cout<<a[i];
cout<<endl;
}
return 0;
}