ラッキー数


システムは整数x,x>0を入力します.各ビットの数字を乗算した後の積がxに等しいように数を見つける必要があります.答えがなければ0を返します.32ビットの整数を超えない.複数の答えがあれば、一番小さいのを返します.試験例入力:48出力:68
#include 
using namespace std;
int a(int n)
{
    int mul=1;
    while(n)
    {
        mul*=n%10;
        n/=10;
    }
    return mul;
}
int main()
{
    int m=0,mul,i=1,flag=0;
    cin>>m;
    for(i=1;i<10000;i++)
    {
        if(a(i)==m)
        {
            flag=1;
            break;
        }
    }
    if(flag)
    {
        cout<<i;
    }
    else
    {
        cout<<-1;
    }
    return 0;
}