import java.util.*;
public class Solution {
/**
* 输入一个整形数值,返回一个整形值
* @param n int整型 n>9
* @return int整型
*/
public int solution (int n) {
// write code here
if(n<10)
return 10+n;
else{
int m=0,base=1;
while (n>9) {
int i;
for (i = 9; i > 1; i--) {
if (n % i == 0) {//能被整除
m=m+i*base;
base=base*10;
n=n/i;
break;
}
}
if(n>9&&i==1) //可能是一个不能被2-9整除的数 例如13
break;
}
if(n<=9){
m=m+n*base; //加上位数最高的那位
return m;
}else
return -1;
}
}
} public static int solution (int n) {
// write code here
List<Integer> m = new ArrayList<>();
if (n < 10){
return 10 + n;
}
while (n >= 10){
for (int i = 9; i >= 2; i--) {
if (0 == n % i){
m.add(i);
n = n / i;
break;
}
if (2 == i) return -1;
}
}
m.add(n);
int ans = 0;
System.out.println(m);
for (int i = 0; i < m.size(); i++) {
ans += m.get(i) * Math.pow(10, i);
}
return ans;
} 拙见,望指点~这算是贪婪算法的思想吗?