Product of digits
Product of digits |
For a given non-negative integer number N , find the minimal natural Q such that the product of all digits of Q is equal N .
Input
The first line of input contains one positive integer number, which is the number of data sets. Each subsequent line contains one data set which consists of one non-negative integer number N (0N109) .
Output
For each data set, write one line containing the corresponding natural number Q or `-1' if Q does not exist.
Sample Input
3 1 10 123456789
Sample Output
1 25 -1
#include <stdio.h>
#include <math.h>
int main()
{
int i,n,sum,m,t,a[10000];
scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
if (n==1) printf("1");
else
{
sum=0; m=9;
while (m>1)
{
if (n%m==0) {a[++sum]=m; n=n/m;}
else --m;
}
if (n!=1) printf("-1");
else for (i=sum;i>=1;i--) printf("%d",a[i]);
}
printf("\n");
}
return 0;
}
简单按位贪心